I made an error in my code, it was this "for(counter = 0; counter <= MAX_PINS; i++)" But change it to "for(counter = 0; counter <= MAX_PINS; counter++)"
It works with multiple buttons, I just tried it and it works perfectly.
EDIT.
Also,
digital_state0[count] = digitalRead(mux_buttonPin[0]); //set mux0 input val for each digitalstate value
digital_state1[count] = digitalRead(mux_buttonPin[1]); //set mux1 input val for each digitalstate value
digital_state2[count] = digitalRead(mux_buttonPin[2]); //set mux2 input val for each digitalstate value
digital_state3[count] = digitalRead(mux_buttonPin[3]); //set mux3 input val for each digitalstate value
Isn't any different from "reading[counter] = digitalRead(mux_buttonPin[counter]);"