The starter relay or solenoid contacts are burned and welding together most of the time in that problem, First go to the tray full of these
View attachment 155139 under the hood and find the primary starting relay and switch it with any other in the tray with the same drawing on it, if it happens again it will be the solenoid on the starter.
It can also happen with low voltage applied to the solenoid making it weld the contacts due to high amp draw.
In a electrical circuit a piece of equipment will try to draw the same number of watts to operate no mater what voltage is applied to it that means if you apply 10 volts to a 12 volt 300 amp starter it will try to reach the same 3600 watts by pulling 360 amps to work.
The other option would be the ignition switch itself being messed up.