How do I offset different sized work pieces and have tool automatically adjust ZTool height(s)?

Hopefully this is a simple to answer and stupid question.

Few months ago, I got an MB16 with SLC CNC 6.107 for home shop.
I started buying up NMTB30 holders so I didn't have to change and reset Z-Height every time I changed a cutting tool.
Now I'm ready to touch off and store all my different cutters and I know where in machine I have tool library.

The question is, how do I tell the tool where the zero is for the work piece?
I see where in the Jog (F2) or HDW (F3) menus I can zero X & Y by using F5 & F6 (G54-X & G54-Y), but the only thing for the Z is a an F7 (ZTool).

Problem with that, is that it only changes Z-Height for that one tool, and the rest of the tools are unaffected.
Clearly, the tool is smart enough to know that if i have 1 tools in the library and say each tool is exactly 1" longer then the previous, when I touch off on a part with tool 5 for example, the other 9 tool heights should also be adjusted. Am I wrong?

Like I said, this is a home shop machine, but lets say I wanted to make 10 gizmos and each required 3 tool changes. No matter how careful I could try, each workpiece will be slightly off.
I know I can use a jig, base holder, etc. For sake of argument lets say that each piece is different.