Thank you guys, the problem ended up being that the X axis limit switch was wired to the A axis input pin and vise versa, this made it appear that limit switches were working fine since any limit switch triggered will stop all axis'es but in homing the switch only affects the given axis.