È piú semplice creare le varie funzioni con gli effetti usando per le temporizzazioni millis() e non delay().
Poi una variabile di stato dove ogni pulsante corrisponde a un valore.
Con un switch case nell loop salti alla funzione giusta.
vedi "finite state machine" Automa a stati finiti - Wikipedia
ciao Uwe