Low Accuracy while perfect travel movement
You shouldn't calibrate the steps/mm for the X, Y, and Z axes. Just use the default settings which are based on the theoretical values for the given belts/leadscrews/threaded rods.

The mistake is in assuming that the error in the dimensions of the 20x20x20 calibration cube are purely due to the steps/mm setting. Due to a variety of reasons (inconsistent extrusion, measurement error, slop in the printer, backlash) no printed part will have its dimensions be perfectly accurate (no FDM 3D printer is capable of better than a few tenths of a millimeter accuracy in part dimensions). When you calibrate the steps/mm so that a 20x20x20 cube comes out "perfect", you are hiding all of these non-linear inaccuracies in a linear compensation of the steps/mm. When you then print a larger part, these inaccuracies (which are incorrectly compensated for in the steps/mm) get blown up.

Suppose your calipers had a constant error of +0.1&nbsp;mm, i.e. every measurement reads 0.1&nbsp;mm higher than it should. If you calibrate your steps/mm so that a 20x20x20 calibration cube comes out "perfect"; the actual size of the calibration cube would be 19.9&nbsp;mm (which your calipers would read as 20&nbsp;mm). If you then were to print a 100&nbsp;mm part, it would come out as 99.5&nbsp;mm which your calipers would read as 99.6&nbsp;mm.

If you insist on calibrating the steps/mm you should do so by printing a part as large as possible. This ensures that the constant error is divided over a large part size, giving a better estimation of the actual steps/mm. However, usually the theoretical value is more accurate than what you can measure yourself, even with a part taking up the entire print bed.


  10 cm filament ... and measuring how much was really moved


10 cm is a very short length; you would get a much more accurate calibration with a 100 cm length. However, calibrating the e-steps very precisely is kind of pointless. It is hard to do so precisely because extruding into free air (and at possibly a different speed than when actually printing) will result in a different amount of resistance and thus a different length of extrusion than during an actual print. You will need to calibrate for the diameter and flow characteristics of the actual filament anyways, during which calibration you can much more effectively compensate for small inaccuracies of the extruder steps/mm.

Perhaps it would be a good idea to look into the rigidity of the entire printer and how securely the parts are mounted. If there is a lot of play in the bed or hotend this could also explain why parts are turning out oversized.