There is a tutorial about how to program a state machine:
https://forum.arduino.cc/t/state-machines/580593/2
And you should also read how to use the time functions ... This is definitely wrong:
if (time >= buttonPushCounter * 60000)
x * 60000 will be reached exactly x minutes after the controller was switched on or reset.