if statements... hmm

so im trying to do a school project. its this dispenser thing and it has multiple recordings i am playing as mp3's through my player module. im using Arduino UNO v3 and iv created my program as everything i want it to do:

#include <SoftwareSerial.h>

SoftwareSerial mp3player = SoftwareSerial(7,8); //RX, TX

int IR = 3;
int yes = 4;
int no = 5;
int next = 6;
int volup = 9;
int voldown  = 10;
int level = 11;

void setup()  {
  // Set parameters for mp3player
  pinMode(7, INPUT);
  pinMode(8, OUTPUT);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH); // pull-up resistors
  // set the data rate for the SoftwareSerial port
  Serial.begin(19200);
  mp3player.begin(19200);
  //button pinMode's
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);
  pinMode(11, INPUT);
  //pullup resistors for buttons
  digitalWrite(yes, HIGH);
  // set the starting volume
  mp3player.println("\\:v 210");
}
// define the loop
void loop()
{
  start:
  if(digitalRead(3)== LOW) { 
    delay(50);
    mp3player.println("\\20\r\n");
    if(digitalRead(4)== HIGH) {
      delay(50);
      mp3player.println("\\ok\r\n");
      delay(2000);
      mp3player.println("\\21\r\n");
      delay(3000);
      mp3player.println("\\22\r\n");
      delay(2000);
      mp3player.println("\\23\r\n");
      delay(8000);
      mp3player.println("\\24\r\n");
      if(digitalRead(4)== LOW) {
        delay(100);
        mp3player.println("\\ok\r\n");
        delay(1000);
        mp3player.println("\\26\r\n");
        delay(1000);
        mp3player.println("\\10\r\n");
        if(digitalRead(6)== LOW) {
          delay(100);
          mp3player.println("\\1\r\n");
          if(digitalRead(6)== LOW) {
            delay(100);
            mp3player.println("\\2\r\n");
            if(digitalRead(6)== LOW) {
              delay(100);
              mp3player.println("\\3\r\n");
              if(digitalRead(6)== LOW) {
                delay(100);
                mp3player.println("\\4\r\n");
                if(digitalRead(6)== LOW) {
                 delay(100);
                 mp3player.println("\\8\r\n");
                }
              }
            }
          }
        }
        if(digitalRead(10)== LOW) {
          delay(100);
          mp3player.println("\\:v 150");
          if(digitalRead(10)== LOW) {
            delay(100);
            mp3player.println("\\:v 100");
          }
        }
        if(digitalRead(9)== LOW) {
          delay(100);
          mp3player.println("\\:v 200");
          if(digitalRead(9)== LOW) {
            delay(100);
            mp3player.println("\\:v 250");
          }
        }    
      }
      if(digitalRead(5)== LOW) {
        delay(100);
        mp3player.println("\\oh\r\n");
        mp3player.println("\\27\r\n");
        if(digitalRead(4)== LOW) {
          mp3player.println("\\ok\r\n");
          goto start;
        }
        if(digitalRead(5)== LOW) {
          mp3player.println("\\oh\r\n");
          delay(500);
          mp3player.println("\\28\r\n");
          delay(20000);
          goto start;
        }
      }
    }
  }
  if(digitalRead(5)== LOW) {
    delay(100);
    mp3player.println("\\25\r\n");
    if(digitalRead(4)== LOW) {
        delay(100);
        mp3player.println("\\ok\r\n");
        delay(1000);
        mp3player.println("\\26\r\n");
        delay(1000);
        mp3player.println("\\10\r\n");
        if(digitalRead(6)== LOW) {
          delay(100);
          mp3player.println("\\1\r\n");
          if(digitalRead(6)== LOW) {
            delay(100);
            mp3player.println("\\2\r\n");
            if(digitalRead(6)== LOW) {
              delay(100);
              mp3player.println("\\3\r\n");
              if(digitalRead(6)== LOW) {
                delay(100);
                mp3player.println("\\4\r\n");
                if(digitalRead(6)== LOW) {
                 delay(100);
                 mp3player.println("\\8\r\n");
                }
              }
            }
          }
        }
        if(digitalRead(10)== LOW) {
          delay(100);
          mp3player.println("\\:v 150");
          if(digitalRead(10)== LOW) {
            delay(100);
            mp3player.println("\\:v 100");
          }
        }
        if(digitalRead(9)== LOW) {
          delay(100);
          mp3player.println("\\:v 200");
          if(digitalRead(9)== LOW) {
            delay(100);
            mp3player.println("\\:v 250");
          }
        }    
      }
      if(digitalRead(5)== LOW) {
        delay(100);
        mp3player.println("\\oh\r\n");
        mp3player.println("\\27\r\n");
        if(digitalRead(4)== LOW) {
          mp3player.println("\\ok\r\n");
          goto start;
        }
        if(digitalRead(5)== LOW) {
          mp3player.println("\\oh\r\n");
          delay(500);
          mp3player.println("\\28\r\n");
          delay(20000);
          goto start;
        }
      }
  }
}

Now, what i thought is that (starting from the begining) the first if statement would wait for its reply (button press), and then continue on to the next if statement. However instead, it does the first one and then the second one were its using pin 4, (which is used ALOT of times throughout the hole program) it seems like its trying to do all the pin 4 if statements at the same time and sorta glitches out, randomly choosing one. Im new to arduino, how should i conquer my problem so that the program runs as it should?

You should consider debouncing your buttons. If you run through the loop very fast you can get multiple events, although you only pressed it once. There is a class for that called "Debounce". More comfortable than doing the manual delay thing.

You should also consider looking at the state change detection example. Most likely you do not want to perform actions when the switch IS pressed, but, when the switch BECOMES pressed (or released).