My guess here would be that you are using micro-stepping for the extrusion stepper and the stepper motor is a cheap one.

Micro-stepping is fine in theory but in practise it is never accurate due to build and component quality inside the stepper.

The fix is to use a geared stepper and/or to use a top quality stepper motor though the problem is still there no matter how much you pay for a stepper motor, it is just not as bad.