A fundamental issue here is that all your modes have loops like this:
while (buttonMode == 2){ //All LED's are off.
digitalWrite(ledFrontLeft, LOW);
digitalWrite(ledFrontRight, LOW);
digitalWrite(ledFogLightLeft, LOW);
digitalWrite(ledFogLightRight, LOW);
digitalWrite(ledBackLeft, LOW);
digitalWrite(ledBackRight, LOW);
digitalWrite(ledReverseLeft, LOW);
digitalWrite(ledReverseRight, LOW);
}
There is nothing in the body of the while loop that will change buttonMode, hence those loops never exit. You need to either restructure you code as Jack suggested (good) or check the button within each of your while loops (bad)