Ok thanks everyone, I figured it out (mostly)
Adding Serial.print("entering loop") or "this part of the code") helped find my issue, basically had to add a print before each line almost but it found it,
Apparently I never called for the program to poll the state of the switches(pins 2&3) so when it got to the loop code, when it looked at the condition, example:
void loop() {
while (speedSetSwitch == HIGH){ // run the program to select desired ground speed
speedSet();
}
I had it looking at the pin# the switch was assigned to and not the state, so duhh the speedSetSwitch was connected to pin 2. So the value 2 is not equal to 1 or 0, so it never entered the call functions (same for the other functions also)
So I fixed that but for some reason when calling speedSetSwitch == HIGH, I had to change HIGH to 1 in order for the code to work. I thought HIGH or LOW is the same as calling 1 or 0.
Anyways its all seems to be working. Now i just need to get it outside and test if my calculation function is doing the math right when the receiver is actually moving.