Google "On Form Submit" triggers have a long history of failing. People are constantly complaining of duplicate instances of code running from a trigger, and triggers silently failing. This has been going on for years. Google engineers have failed to fix problem. Apps Script bugs can take years to fix.
There are legitimate reasons for triggers running twice that is caused by the programmer, like if you are using a "simple" trigger, and also "install" a trigger to the same name. That happens frequently. But there is no simple trigger for "On Form Submit" triggers. So, it can't be that.
I think it may be possible to programmatically install a trigger to the same function name multiple times. You should check the current projects triggers by opening the script, and from the "Edit" menu choose "Current Projects Triggers"
Triggers other than time-based triggers should to be "scoped" to the Apps Script file that installed them. So, if you had multiple Apps Script files, all with the same function name associated with the same type of trigger, then there shouldn't be a conflict. But as I stated, something is going wrong somewhere with triggers. Each trigger should have it's own unique ID, which is probably how Google determines what trigger goes with what Apps Script project file.
Is there any chance that your code is somehow installing the trigger multiple times to the same function name?