A couple of things come to mind:
One is that the starter may not be seeing the full current from the battery. You mentioned a bench start checked OK. If you are bench checking with a battery and jumper cables there is a difference than the car application, which goes through the solenoid and several connections. You can jumper across the solenoid with jumper cables and this would eliminate the solenoid from the loop and be that same as a bench test. Be ready to quickly remove the jumper in the event the starter does engage and starts the engine. Better yet, remove the coil wire to prevent an inadvertent start. On this same line of thought, if the starter sounds like it is not coming up to speed and the solenoid jump doesn’t work. Check the ground connection from the battery to the block to ensure a good connection, remove the connection and clean and retighten. Also check solenoid bolted cable connections for a solid connection.
Another thought is that teeth on the flywheel are missing. Look into the bell housing and ensure that the teeth are in good shape.
Also, the parts guys could have given you an incorrect part. It’s always a good idea to do a visual comparison from the old part to the new one prior to taking it home.
I hope this helps!