Return key always being pressed

It was only restraintsOPEN and restraintsCLOSED that needed to be fixed.

All other you read at the beginning of loop() and store in variables with POS in the end of the name.

You didn't have restraintsOPENPOS nor restraintsCLOSEDPOS. Thats why I only included those two in code
describing what you did there.

The reason for estop and reset still working is that you haven't added digitalRead to those lines.

if (estopPOS == LOW){ // If Estop is pressed