Switches are identical? I have push-buttons that look identical... except one is normally open and the other is normally closed. I had a similar issue and ended up marking one with a sharpie .
Also, ensure you're not re-purposing pinmode on the fly (admittedly does not fit you one-out-of-three situation):
Arduino - DigitalPins
Both buttons are Normally Open...
Module 1 detects the closed button on the pin as HIGH
Module 2 detects the closed button on the pin as LOW
Module 3 detects the closed button on the pin as HIGH
WAIT! I think I found it...
Module 1 and Module 3 both have a DHT-22 Digital Sensor on D9. Shouldn't matter, but just for the heck of it, I disabled that sensor on Module 3, and it started detecting a button press when there wasn't one! In other words, it's now behaving like Module 2.
I guess it's time to comb the code to see if I inadvertently set pin 8 rather than 9 somewhere, doesn't make sense, I never use numbers, only variables/constants.