t's possible that the gears are not made right or they are missing teeth. the opther thing is to check the cable where it screws into the speedometer head.
the inner cable is square, and the drive unit inside of the speedometer head is also square. sometimes this cable will not make a positive connection with the square drive peice (which is plastic). if the inner cable is allowed to slip or spin in this plastic square drive unit, it will round out the plastic inside of the speedometer where the cable slids into it.
it's hard to explain but you will need to unscrew the cable where it screws into the speedometer, and check the square inner cable and the plastic drive unit insode the speedometer. also, when you unscrew the cable, pull up on the inner square cable to make sure there is enough sticking out to slide all the way into the plastic drive unit in the speedometer,