Antorbd04,
Correct me if I'm wrong but, the way you are using the BUTTON command after looking at your code, you are not checking if the button is released. Therefor the program jumps to each of the subroutines one after another with one press... At least that's the way I see it.