Move the "Set MosqOn to 1" action above the "Wait". What is happening is, you are starting multiple spawn events before setting the MosqOn variable. The Wait command does not wait to allow the system to continue processing, just the actions in the current event that are below it in the list. Since you are waiting the given amount of time to set the variable, the game loops through and finds all the variables still match the event trigger. With the "Trigger Once" condition, it will only trigger once while all the conditions remain true but once you turn the light on and off, the condition is reset.
I hope that answers your question and good luck with your project.