I had the same thing happen on my forklift, it would click for a bunch of times before finally catching and spinning the engine over. It would bench test fine; the culprit was the two heavy copper bolts at the end of the solenoid that the battery cable connected to. They had eroded just enough that the solenoid disc wouldn't make good contact. They were square head, so just taking them out of the bakelite cap and rotating them 180 so that the good part of the head was in play fixed it.
An image search shows that your starter has a different arrangement, but I would take apart the solenoid and see if an easy fix would work on it. Sometimes just cleaning all the black residue from all the arcing reduces resistance, so while it's apart burnish all the contact areas with a wire wheel.