i havent used a motor with arduino before but this is how id imagine it works:
using a stepper motor, testing how many 360° turns i need to get the syringe down to 0ml, then reversing the turn direction and testing how many turns i need to get to the 40ml position. then programming that into arduino to control the stepper.
This way with stepper i have every time exactly the same amount the syringe gets pulled/pushed.
Does it work the way i imagine it?