I would hazard a guess that it is dirt/muck on the shaft of the stater motor stopping it from engaging -have come across this before - the starter will have to come out again and be repaired - whatever you do, do not put oil on the shaft that the pinion slides along - it will only attract more dust/dirt causing it to stick again.
If you cannot service it yourself take oit to an auto-electrician and get them to repair it and make sure it is bench tested before going back in.