Jake,
RJSakowski has it exactly right. I'll just add a couple things in the hopes of confusing you
1. Machine coordinate system zero can be
anywhere, but this depends on the machine/controller. Every 'store-bought' CNC I've seen/used the machine zero point is defined by the manufacturer and is generally at the limit of the axis travels. On my lathe, the home position is the turret/slide as far from the spindle in Z and X as possible, but the "Machine Zero" point is defined by the manufacturer as the centerline & face of the spindle - very annoying.
However, in the DIY world it may be possible to change the location in the controller settings.
In my controller I have 'write offset' as an available option field in my axis settings. If I use this the machine homes, finds the switch, and then writes the offset number in the machine DRO - not '0'. This means I can have machine zero anywhere within the machine travels.
Example 1: my mill Z switch is at the top of travel and I have no zero offset. So all Z movements are negative numbers in machine coordinates (not work coordinates).
Example 2: Big plasma I just built has the homing switches at the far end of the table (away from the operator). But I write an offset on homing equal to the length of travel in Y. This means machine zero is closest to the operator and to the left in X/Y so all torch positions are positive numbers.
2. There are, in addition to G54/G5xx Work Coordinate Shifts, many other ways to 'zero' a part or location within the machine envlope. This also depends on the controller, but there are temporary work shifts (G52), pallet work shifts (Hxx for Fadal), and may others where the OEM controller manufactuer wants to add features for the end user.
Fix your switches, and maybe replace them with something more repeatable. Having a homing sequence makes life so much nicer even if the switches are only good to a couple 'thou. You can create parking positions for unloading/washdown, or for me I've got a parking position where the spindle is right over the centerline of my 4th axis. Saves time touching off, and the parking positions are easily programmed & recalled with a user-edited M-code.
I've got a bucket of old proximity switches. They're various NPN NO & NC's with some at 5v and a few up to 24v. I could send you a fistfull to play with and make sure you get thee working ones.
-Ralph