Provided your machine return to correct 0/0/0 it isnt loosing steps (= you have enough power)
Provided your machine travel exact 500mm with a 500mm jog command, you have it calibrated
If your machine produce parts with different measurements than design you have a combination of backlash/slack/runout/actual tool size disrepancy. Any machine, commercial or hobby based will have some sort of deviation)
To start, a 3mm bit may be just shy of 3mm, runout may cause a 2.9mm bit cut a 3.2mm slot for instance.
Slack/backlash will allow the machine to “back off” a little when engaged to the material.
Is the discrepancy the same in soft materials and hard materials (or at relaxed / aggresive cuts?
Here is my take on them:
X=0.987 => 0.013" off
Y=0.990 => 0.010" off
X=1.985 => 0.015" off
Y=1.996 => 0.004" off
X=2.982 => 0.018" off
Y=2.980 => 0.020" off
As the deviation for X and Y is fairly consistent, as in not scaling up 2x or 3x as design did suggest the deviation is due to mechanical factors.
If you had carved a single line we would know the real width of your bit. This line would equal bit diameter + runout if any.
If a pocket of 2x2" is carved undersized, but the step/mm have been fine calibrated and the real bit diameter is known, then any deviation will be due to mechanical issues such as tool deflection, machine flex and backlash.
Backlash in particular is present in any machine and professional software allow you to enter such values so it can compensate by computer (also issues like tool wear etc ++)
Regaring vertical center alignment, I really dont think your board was laid down parallell to the X-axis.
If you run a ruler along the center of 1" and 2" pocket, is the datum line also centered on the 3"? It looks like that may be the case, but judging by the photo isnt very precise.
Did you carve the 4 shapes in one go? If you did and all were centered in design then something is wrong.
If you didnt carve them in one go, can you share your file in case there is a work flow issue?
@RalfFerly just an additional piece of information that I have found useful. When your machine has no power, the X carriage can get knocked and become out of square to the Y. Also on power up the 2 stepper motors on your Y axis can move in opposite directions to the nearest magnet.
I have 2 blocks that I place between the X carriage and the 2 Y end plates (left and right) and pull the X carriage against them on power up. This gives me a consistent alignment of X to Y (and reasonably square). On multistage carves this is essential. I also did this prior to carving the bump stop so my stock is also aligned perfectly.