Can you isolate and recreate the issue to share?
Also have you checked the origin points of your animation frames to make sure they are lined up?
Edit: It probably does have to do with frame rate. While the leader looks smooth, the distance traveled probably differs per frame, so some frames the recorded distance is slightly farther, and some slightly shorter. The stuttering becomes apparent when you have a reference point such as the follower to the leader (or the viewport, which is following the leader) - If the leader on a given frame is slightly ahead, while the follower on that frame is slightly behind, you'll see a gap widen, and then it pops back as it corrects or overcorrects in the following frame. You can test this by having the viewport follow the follower and see if it starts looking like the leader is stuttering instead.
As for a solution, I would suggest using the move towards action instead, but that has its own complications like cutting corners and stuttering when catching up as well..
Edit 2: Also for pixel art, do you have pixel rounding enabled? That is probably the bigger culprit. Try disabling it and see what happens.
Oosyrag, great analysis, as usual.
Pixel Rounding is off.
Following character moves smoothly on his own.
When switching the view-port to follow the follower the leader does stutter.
I could recreate but think it might be solved thinking about it logically:
I agree the main issue is likely the varied framerate. I tried to change it to per second but doesn't seem to work probably due to the fact if the interval is too small it will still only run once per frame. And of course if too large it won't be smooth.
So if the timing is based on a variable framerate the important part is to keep the follower the same distance from the leader the whole time.
This seems to work pretty well so far.
What I did was every tick add a L/R/U/D to a variable on the follower. Then set the position to the player, instead of the NPC as in previous tries, based on the count of each. Then remove the one at the beginning. That's the basics of it at least.
Thanks again Oosyrag for the insights!