two bad starters? he already change the original to his "spare" starter. At this point I think he needs someone wo understands the system to be helping in person.
DC motors with bad fields, bad armatures etc don't work "fine" some of the time and not others.
A bad solenoid is a possibility, but having two starters with the exact same fault is unlikely. It isn't impossible, which is why I think someone who knows what they are working with needs to look things over.
It is very hard to diagnose electrical over the internet, esp when the person at the problem isn't well versed on the system.
Before we send a person changing parts on what one "thinks" the problem is, we need to test and prove it. Otherwise you end up chasing your tail.
A armature with a shorted coil or bad bars, high mica etc, doesn't work fine one time and not another. Field coils don't short then un short, same for opens.
The way the solenoid works, it has to get the pinion into the ring gear before it will make electrical contact to the motor. It is possible that the contact in the solenoid is defective and it is possible that both his starters are defective in this manor, but not likely, and less so when it worked fine on a "bench test".
It is possible that the mounting plate on the back of the block is broken or bent, and there are many more "possibilities"
Before I would say change the starter yet again, I would want to be sure of the cause.