Is the odometer right? If it is, the small magnet that spins the needle is weak. The cable spins the magnet head which spins the needle, they are not connected solid. Your old one most likely would come in contact with each other and send the needle full speed. A shop will be able to recalibrate the speedometer head.
If the odometer is off just as the speedometer is, then its a gearing problem. Odometers are geared right to the spinning magnet head so they will always be right if the gears are right in the transmission.
You might try a good cleaning and oiling to see if it helps.
Joe