All I can provide is some generic advice.
Wherever possible you should use received command
and changed
instead of received update
in your rules. These will not be triggered when OH initialized your Items during the startup. This is a general best practice whether you are having problems or not. Particularly when dealing with something as important as opening a garage door.
You can look into setting a lock in a System started rule and have all your rules check this lock and avoid running if the lock is set. Then reset the lock to OFF with a Timer after enough time has passed.
See my Design Pattern: Human Readable Names in Messages to see an example of how I prevent duplicate alerts under all circumstances, not just during system startup.