maybe noise in an analog pin?

I am using an analog pin to read a button if on or off. I added some code to keep it from cycling over and over. It works great on the right but not the left. I have swapped buttons, resistors, complete wiring everything.
What I am trying to do is trigger something to run for a moment when the button is pushed. Before the additional code it would turn run on over and over resulting on nonstop running if you held the button down.

With the improvement in the code the Right button works but not the left. Could I be getting some “noise” or something to get this?

Here is the code:

oid checkLEFTbutton(){                        // Code if Left Button is Pressed
  if (valL != analogRead(buttonLEFT)){         // stops windmilling
       buttL=analogRead(buttonLEFT);           // read in button 1 (left button)
       if (buttL < buttthres){                 // if button one is low then button was pushed
         delay(delayPull);                     // delay before activating trap
         ++count;
         digitalWrite(relayL, HIGH);           // turn the relay on
         delay(relayon);                       // hold relay on to make sure trap launches
         digitalWrite(relayL, LOW);            // turn the relay off
         timer = 0;                            // Reset sleep timer
      }
    valL = analogRead(buttonLEFT);             // prevents "windmilling"
    }
}// --------------------------------------------------------------------


// ----------------------| RIGHT BUTTON |------------------------------
void checkRIGHTbutton(){                       //  Code if Right Button is Pressed
  if (valR != analogRead(buttonRIGHT)){        // stops windmilling
       buttR=analogRead(buttonRIGHT);          // read in button 1 (left button)
       if (buttR < buttthres){                 // if button one is low then button was pushed
         delay(delayPull);                     // delay before activating trap
         ++count;
         digitalWrite(relayR, HIGH);           // turn the relay on
         delay(relayon);                       // hold relay on to make sure trap launches
         digitalWrite(relayR, LOW);            // turn the relay off
         timer = 0;                            // Reset sleep timer
      }
    valR = analogRead(buttonRIGHT);            // prevents "windmilling"
    }
}// -------------------------------------------------------------------
if (valR != analogRead(buttonRIGHT)){        // stops windmilling
...
    valR = analogRead(buttonRIGHT);

Not sure what 'windmilling' means, but this could cause unexpected behaviour. Since the analog reading can change between the if statement, and the later assignment. Especially with analog reading this is a fair assumption. Why not assign the value of analogRead to a temporary variable, and later set valR to that value?

As for noise: it is possible.. though that is something hardware related. Could you post the wiring schematic?