You have two issues going on here:
1) There is something going on with your wiring. The starter should not spin with the key in the ON position and the stop switch on RUN. With the key ON and stop switch on RUN, the starter will spin only if you press the starter button. That's how it should be.
Either your starter push button wires are shorted together, the starter button is frozen, or the wire leaving the starter relay is grounding out somewhere on the frame/engine/etc (talking about the R/W wire, red wire with white stripe).
Try this for us....turn the gas on, turn the key to ON but leave the stop switch to OFF. What happens? No starter spin? Keeping the key to ON turn the stop switch to ON, does it start spinning? Then turn the stop switch to OFF again, stop spinning? Let us know. If it does that, your starter switch is stuck. If it spins no matter what, then...
The R/W (red with white stripe leaving the starter relay) wire is grounding out somewhere. To check this, use a multimeter with the diode/continuity setting and put one probe on the R/W wire right at the starter relay and the other probe on the negative terminal on the battery. Do you have continuity? If so, that wire is shorting out between the starter relay and the starter button.
2) When the starter is spinning it's not spinning over the engine. You charged the battery, but it could still be bad. Otherwise, your starter gear is not protruding out when the starter spins and therefore the gear isn't engaging the idler gear and you get a no-start situation even though the starter is spinning.