Ciao luiggio,
quando imposti un pin come INPUT_PULLUP lo forzi allo stato HIGH....per cambiargli di stato devi collegare a GND e diventerà LOW...quindi la tua :
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
è sempre vera.
Devi ragionare al contrario.