The path finder uses the grid to find a path. It will stop on the grid location as long as it needs to move a full grid amount otherwise it will go to the exact coordinates. So, you need to use a grid of 8x8 and a target evenly divisible by 8. It also does its own rounding which makes things weird.
Something like
Move object to trunc(CursorX()/8)*8 , trunc(CursorY()/8)*8
Or you can use round()
Move object to trunc(round(CursorX()/8))*8 , trunc(round(CursorY()/8))*8
I drew a circle where the grid points are.
Using CursorX(),CursorY()
using adjusted CursorX(),CursorY()