I can see your footprint locations are not nice rounded numbers, but I can not see how it got to be that way.
When moving footprints, one thing to watch out for is what is used as the origin of the move. This can be either a pad or the footprint anchor point, and the point you grab it with is (usually) placed on the grid. Pitch between pads for passives is often not a “rounded” number, neither in metric, nor in mills, so if you align by a pad, then align by footprint anchor will be off-grid. Footprints can also snap to other objects such as track ends. (you will see a cross with circle if KiCad found a snap point).
Another problem is with making small moves. The “old location” is added as a snap point, and this makes it nearly impossible to move a footprint to the nearest grid point. I’ve complained a few times about this but this did not help. My workaround is to move a footprint a few gridpoints, and then move it back again.
An option is to always work on a relatively coarse grid, and combine that with some house rules. For example, “always put the top left pad of a footprint on a 10mil grid” Putting “pad 1” on grid does not help with aligning because footprints can be rotated in all directions (especially passives such as SMT resistors and capacitors).
It is also an option to just stop caring. The differences are too small to see with the naked eye, or even a regular stereo microscope such as used during soldering. SMT Pick & Place machines don’t care, and neither do the footprints themselves, nor the electrons flowing though the copper care.
It would seem nice to have an option to align footprints (and tracks?) to the grid in the PCB editor similar to the schematic editor, but what if this results in clearance violations?
There is also a thread about “silly numbers” going on at the moment:
Something that can help for your next project are the PCB Editor / Preferences / Preferences / PCB Editor / Grids / Grid Overrides. These can (should?) help to place footprints on a fixed grid, regardless of other grid settings. But again, the problem of pad locations of passives relative to the footprint anchor point.
In the end, a lot of text, but no real solution.