Ciao, nel programma secondo me non ci sono errori, potrebbero essere problemi nel circuito ma io in elettronica non sono molto esperto.
Il fatto che i servo non devono muoversi se non premi il pulsante, a parte posizionarsi a 90 gradi ad inizio programma.
Per vedere se i pulsanti danno falsi contatti, collega la scheda al computer con usb, nei vai if() dei pulsanti
metti un Serial.println("pulsante nome pulsante"); , se sulla seriale vedi le scritte sai quale pulsante è collegato male e invia segnali ad arduino.
Ricordati che per usare la seriale nel setup devi mettere Serial.begin(9600);