Motorcycle Questions? Ask a Mechanic.
First thing to do is have the battery load tested to make sure it is not only charged up but has maintained it's stamina or ability to produce the current necessary for the starter to spin well.
Second thing is check the battery cables and especially the ground cable to the engine. You could also try running a good battery directly to the starter motor to see if it spins well when connected that way.
If you bypass the cables then you will know where it is losing power.
Also, if it does not spin well then the starter motor may be dragging and need a rebuild or replacement.
Your battery also needs to be good quality in order to provide enough
amps to the starter.
Last resort is to make sure the engine is turning without excess friction as you did by removing the spark plugs.
The starter should start the bike when power is applied directly to it with the key on otherwise the starter is dragging.
Batteries can appear charged and still be weak in stamina.
Let me know if the starter works when connected directly to a good battery or not.
If you think the ground is bad try connecting some other cables
to the grounds on the motor or frame and negative battery post.
You need good positive and negative connections between the starter and the battery. If it has lots of battery power and good cables
then it might be the starter is weak. Keep the battery up as you test it.
Let me know how it goes.