Problem configuring 2 buttons for 2 different sequences

As I said earlier, I know nothing about coding as is evident in the code. I read more today and now have the code working, but it only works if I have the UNO connected to USB and there is a constant hum whenever it is connected. The unit is powered by 4 AA batteries and I think that they may be close to drained, but don't have my volt meter to check.

I am using Self-reset SPST Latching Push Button Switches, and they currently have to be cycled every other time to work. Is there any way to change the code so that they work with every push or is that not possible with this type of switch?

#include <Servo.h>

const int  abuttonPin = 2;
const int  rbuttonPin = 4;
const byte tservoPin = 9;
const byte mservoPin = 10;
const byte bservoPin = 11;

Servo tservo;
Servo mservo;
Servo bservo;

int buttonPushCounter1 = 0;   // counter for the number of button presses
int buttonState1 = 0;         // current state of the button
int lastButtonState1 = 0;     // previous state of the button
int buttonPushCounter2 = 0;   // counter for the number of button presses
int buttonState2 = 0;         // current state of the button
int lastButtonState2 = 0;     // previous state of the button

void setup()
{
  pinMode(abuttonPin, INPUT_PULLUP);
  pinMode(rbuttonPin, INPUT_PULLUP);
  tservo.write(0);
  mservo.write(0);
  bservo.write(0);
  tservo.attach(9);
  mservo.attach(10);
  bservo.attach(11);
}

void loop()
{
  // read the pushbutton input pin:
  buttonState1 = digitalRead(abuttonPin);
  // compare the buttonState to its previous state
  if (buttonState1 != lastButtonState1)
  {
    // if the state has changed, increment the counter
    if (buttonState1 == LOW)
    {
      // if the current state is LOW then the button
      // went from off to on:
      buttonPushCounter1++;      
      if(buttonPushCounter1 == 1)
      {
        tservo.write(0);
        mservo.write(0); 
        bservo.write(0);
      }
      if(buttonPushCounter1 == 2)
      {
        tservo.write(90);
        mservo.write(90); 
        bservo.write(90);
        buttonPushCounter1 = 0;
      }
    }
    delay(15);
  }
  // save the current state as the last state,
  //for next time through the loop
  lastButtonState1 = buttonState1;

    // read the pushbutton input pin:
  buttonState2 = digitalRead(rbuttonPin);
  // compare the buttonState to its previous state
  if (buttonState2 != lastButtonState2)
  {
    // if the state has changed, increment the counter
    if (buttonState2 == LOW)
    {
      // if the current state is LOW then the button
      // went from off to on:
      buttonPushCounter2++;      
      if(buttonPushCounter2 == 1)
      {
        tservo.write(0);
        mservo.write(0); 
        bservo.write(0);
      }
      if(buttonPushCounter2 == 2)
      {
        tservo.write(45);
        mservo.write(15);
        bservo.write(75);
        delay(2000);
        tservo.write(0);
        mservo.write(45);
        bservo.write(15);
        delay(2000);
        tservo.write(75);
        mservo.write(0);
        bservo.write(45);
        delay(2000);
        tservo.write(15);
        mservo.write(75);
        bservo.write(0);
        delay(2000);
        tservo.write(0);
        mservo.write(0);
        bservo.write(0);
        delay(2000);
        buttonPushCounter2 = 0;
      }
    }
    delay(15);
  }
  // save the current state as the last state,
  //for next time through the loop
  lastButtonState2 = buttonState2;
}