It's either the starter motor or one of the three cables.
If you want to really be doubly sure, disconnect one of the cables at the relay and touch it to the remaining one. If the engine doesn't crank, you've eliminated everything else on the bike. That's the simplest circuit: battery straight to the starter. The whole rest of the bike could be missing but, that should spin the starter.
You said you disassembled the starter and verified it was good. How did you verify? Did you check each set of windings with an ohmmeter or just get it to spin on the bench when connected to a battery?
You may have one or more shorted or open windings in the motor and once it spins to those, it will stop.