PushButton-Hilfe benötigt

Du musst genau 100 msec lang drücken, damit das als 1 Tastendruck gemerkt wird.
Wenn du kürzer drückst, kann sein dass dein Programm es gar nicht merkt, weil es im delay(100) hängt.
Länger als 100 kann als 2 Tastendrucke interpretiert werden.
Ausserdem kommt es immer darauf an, wann dein delay() gerade fertig ist um wieder digitalRead(buttonPin) zu machen.

(Immerhin kannst du beliebig lange den Button losgelassen haben, das ist ja schonmal was)