remember the loop runs "super fast" and you keep incrementing buzzerTimer which will go negative because it's a signed int...
you should rethink the code as a state machine (Here is a small introduction to the topic: Yet another Finite State Machine introduction )
the machine would look something like this
