You must not learn by numbers - take a step back.
What the machine
MUST know is - Where Am I

Once it knows that, it is happy - and a happy machine works well.
What you are trying to do, therefore, is tell the machine where it is.
I don't know what you are doing with the touch plates, but I assume you are putting them somewhere near the workpiece and trying to say to the machine - That is where you are !! - AND - That point is here in my program - Now do the program.
The point can be anywhere. In my machine I have home switches fitted. It is a lathe and millng machine combined - so it is not likely I can have one set of switches that will suit both functions. What happens, therefore is -
1. I home the machine. This sets the MACHINE co-ordinates to 0,0.
2. I then move to program co-ordinates and apply an offset (G54 - G59). This changes the DRO's to show a start position that is suitable for machining - in relation to the homing position (which is not).
3. I move the machine to its new position 0,0.
4. If my offset is correct - then the new 0,0 the machine is at should co-incide with the 0,0 of the program.
I your case - you must decide where you are putting your touch plates - i.e. what is that position in relation to your program. We will assume all you are doing is drilling a 1/2 inch hole in the middle of a 2 ins square of material. You program is fairly simple. It can start anywhere providing it goes to
G0 X1Y1
G1 Z-0.5
G0 Z1
G0 X0Y0.
There might be some other code - for tool changes, Z height and other minor things - but the meat of the program is in those four lines.
Move to 1,1, drill the hole, lift the tool to a safe height and go back to 0,0. You will see from the program that we are assuming (when writing the program) that 0,0 is at the bottom left hand corner of the workpiece.
Your problem is telling the machine
where it is (not necessarily telling it where 0,0 is).
If you put your touch plate on the left hand side of the workpiece (the 2" plate) - then that position is X0 - so if you now touch it, coming from the left and set the DRO at 0 you have done X.
This would be correct if the touch tool was 0 inches diameter The touch tool - whatever it might be - has a diameter - therefore the centre of your chuck didn't get to X0 - it only got to X0 plus the
radius of the tool. Therefore you must add the tool radius to your Xposition DRO. The machine now knows where the X axis is - and , providing you do not touch the DROs again, or miss steps, or make some other foul up, it will keep that information.
The argument is exactly the same for the Y axis - if you place the touchplate at the side nearest you - that is Y0. Touch the plate coming towards you and the argument is exactly the same.
You therefore tell the machine that it is at (say with a 1/4 inch diameter tool in) X0.125 Y0.125. in relation to the program. You might not have been to that position with both axis simultaneously - but that is what you have done. The machine is happy at that and, when required, will move to where it thinks X1 Y1 is and drill your hole. In the meantime, you can jog around, change the tool, have a cup of tea etc. then press the start button and the machine will oblige.
You need not use the X0 Y0 edges of the work piece - in this example you could use the edges furthest away from you. - but, given the same tool, the chuck centre would only be at 1.875 1.875 - not at 2,2 - and this must be reflected in the DRO.s
As far as the Z axis is concerned - it is normal when writing GCode to consider the top of the workpiece at Z0. Therefore all you need do is bring the tool down to touch the top of the work - and this is Z0. Again - if you are drilling wood or plastic, and you have used a touchplate, then the
thickness of the plate must be added to the Z DRO.
For a milling machine you can change the tool - and the X and Y positions (once set) will not be altered - the Z position must be altered to reflect the different lengths of tool. This is where your tool table comes in becasue different diameters alter the offsets for cutting etc - but they have no part in setting the position of the machine other than
whatever tool you use as a probe the radius must be taken into account. Many machinists use a piece of ground bar - accurately ground to a specific diameter - as their touch tool. Other professional touch tools have a specific diameter of ball at the end to take into account.
I have the page done for the touch tool - running from macros - but I cannot find how to link this to push buttons on the Mach3 screens.
Everything else is fine. ( See my post asking for some help - with the new version of Screen4)