If you’re sure the motor is not stuck, pull the clutch drum and inspect the ring gear for damaged teeth. Also pull the cover off the bendix and check it out. To remove the clutch drum without loosening the motor, unbolt the axle gear from it’s carrier and take the chain off. The ring gear can get bent. Turn the motor over by hand to see if the gear is bent.
If your engine never needs repair and you never have to change axle gears, your perfectly aligned engine will never have to removed. Good luck with that. :)
Still sounds like a week battery. Get a heavy gauge wire and put a connecter on one end that matches the one that comes off the starter motor. Take the other end of the wire and touch it to the positive terminal of the battery. Should crank. Did you repair the starter motor brushes or replace them? You also could have a dead spot in the starter motor.