Has the engine been outside in the weather with the plastic cover off the top of the engine?? If the engine is out with the starter exposed to the elements the motor can get water into it as the start is not built to keep water out, just fuel and air in the engine (its one side of the crankcase on a power torque)
What you need to do is remove the starter off the engine.
If it has a plastic 'stuffer block' on the under side, you could fix it yourself with a vice and a 24mm socket or spanner.
If its the formed alloy starter you will need a special tool. Not hard to make but hardly worth it for one starter.
If you dont have the socket, or the special tool, it would be easier to take it to a Mower shop and get them to sort it.
While you are there get a new crank seal - O-ring for under the starter.
Sounds to me like the spring has jambed up. Pull it apart and sort the spring and back together it goes.
Back to the water. If it does have water when you get the starter off, tip the motor on its side, spark plug up and tip the water out. Spray a heap of WD40 in the motor, in under the piston, down in the crank bearings.
Water in the motor mostly wont hurt it, its when you open it up and let the air in that the rust gets happening.