I'm gonna put my bet on battery problem. My old battery would seem to take a charge from my Battery Tender, and show 12.4V on a meter. It would also light up the headlamp. But it would not crank the starter.
Turns out there is a way for a battery to seem OK but have few or no cold cranking amps... it does not work under load. Any auto parts store should have a tester that will check it for you.
The reason I think your problem is battery is that when you first start cranking, there would be a short time when enough power would get to the coil to fire the plug, maybe only once. And then when you let off the button the starter stops pulling power, but the flywheel keeps going for a turn or two, and there is enough power in the system to fire the plug. If you had a kick start, it might fire up easy.