I will take a look at your program later, but you need to wrap your mind around the concept that ladder logic by itself is cyclic, so it makes no sense to have loops inside it. Instead of loops, you need to work on the concept of states. At first, you have your idle state, until the button is pressed, which makes it change the state to close the valves, and so on.
In ladder logic, all rungs are processed in every cycle (big loop), then the concept of states will define which rungs should be activated on which state. You can create additional bool variables that will work as defining states. When a particular bool coil variable is activated it means that this particular state is active. Then you use this condition to turn on/off your valves accordingly.
Supported videos include:
Please paste your code into the box below: