GF1021:
Once the filling is done I hit the home button and it (and here is the problem) turns 2-3 more times in the CCW direction before it reverses and goes CW.
I find that confusing.
Do you want it do do 2 or 3 more turns but it is not doing them?
OR
Is it doing 2 or 3 turns that you don't want it to do?
You should NOT have
stepper.run();
inside any functions. That line is only needed once and it should be in loop().
It may also be useful to use stepper.distanceToGo() to check that a movement has completed.
Or, if a movement has intentionally completed prematurely you might want to use stepper.setCurrentPosition() to update the library's position data.
...R