How do I prevent my timer from resetting when executed multiple times?

You can’t. It’s a single source.

Put the timer in the controller (server side). Have it call an event in the GM.