As otsdr points out above, the piston does NOT move through the seals. This is the biggest misconception around. The piston is an extremely tight fit in the seals; it needs to be to prevent leakage of fluid. When you pressurise the system the seals deform allowing the piston to move half a millimetre, which brings the pad into contact with the rotor. Release the lever and the poston springs back to its earlier position. However as the pads wear the pistons do creep very slowly through the seals as the travel exceeds the limit of elasticity of the rubber.
The little spings don’t push the pistons back; they are only there to help prevent the pads from rubbing the rotor when retracted.
The caliper needs to be centred exactly on the rotor and there needs to be no air bubbles behind one of the pistons causing unequal movement.