Answering two posts here:
I don't know why they couldn't have used joystick emulation rather than mouse emulation (or both). Windows supports up to 16 joysticks. Seems it would be just as easy to have the guns give joystick coordinates that relate to screen coordinates.
Yes, but then most retail games (but not mame) would need special drivers to convert the data, or special patches for each game. Most PC games already use joystick data to move in the direction the joystick is pushed and speed by how far it is pushed (like a joymouse on a laptop). Actlab needed patches to games for the serial guns to work, and, thus, it worked on only the dozen games that added patches.

just use different buttons you dont need the simultaneos support of two mice
the gun does not track the screen in real time only when a shot is fired the gun is tracked
Yes. But, then
every single PC game, including mame (just the core, not every driver), would need to be patched to tell the difference: "button one pressed means mouse coordinates is for player 1, but button three pressed means mouse coordinates is for player 2". Not too hard to program, but actlabs needed very easy patches to games for the serial lightguns. Very few game developers added a patch to their games, thus the lightguns sold very poorly, thus no developers added a patch, thus the lightguns sold poorly, ad infinitum.

It can be done, and the code easily added to mame if done this way, but I doubt more than half a dozen other games would add this patch. Actlabs seems to agree.
dont give me some bull ---steaming pile of meadow muffin--- that two people fire at the same time withen that 1/30 of a second
Oh ya, I forgot to mention two people shooting at the same time.

You would be very surprised how likely it is to happen.
Example: There is a pause in action with nothing to shoot at. A target pops up in the middle of the screen and both players shoot at it. If reaction speed of players is ~1/4 of a second, the chances is ~1 out of 8 that they shoot at the same time. Now, what if one of the players
would have hit the target, but the other player's location is registered instead, so both shoot the missed location.

Example two: newbie is waling at the trigger, just shooting all over the place averaging 2 per second.

About 1 out of 15 times the vet pulls his trigger, it is at the same time as the newbie, and about 50:50 that his shot will register at the same location (miss) at the newbie's. String that out over the length of time the newbie hits the continue button.
Example three: Heavy duty spot, with bad guys all over the screen. Both players shooting quickly, about 3 a second each. Odds are ~ 1 out of 10 for each trigger pull for player 2 is at the same time as a pull from player 1. Multiple that 3 times a second, over the time the scene is heavy. Some games are always heavy duty.
(If two mouse was supported in the OS) With two mouse support, it would be okay for both guns to be shot at the same time, if the (single) video-to-gun connector has two gun inputs, treats the trigger pulls real time, and sends the "flash started" signal to both guns.
and if you make a arcade gun pls make it right emulate the arcade guncon best lightgun of all time
I want the best there can be, too. The different button is not the best.
BTW, I used to think the different button == different gun was a workable solution, too. But I then learned it won't work for any games unless they get patched, and then after the patch people will complain when once every 3 minutes (180 seconds, or 1080 of your 1/30 seconds), the lightgun does not register correctly (because both guns were shot at the same time). :-/