This is both an issue with the lightning gun code and with the engine-side implementation of TE_LIGHTNING2.
What the lightning gun is actually doing, is shooting 2 beams parallel to the original beam. There is a page on SDA that documents where it goes wrong, but the fail starts when f is normalized but the value isn't put back into f.
TE_LIGHTNING2 ignores the start co-ordinates of the beam, and instead will use the origin of the entity specified as the start point of the beam. Which is why the beams look as if they fly at strange angles. Also, some engines will only display 1 beam per entity. So the correct way to make them all display is to have 2 additional entities for the 2 beams.
But yes, the easiest thing of all is to just remove the extra beams...