You didn't mention if your speedo had worked correctly in the past but if all else checks out, you may have the direction driven gear on the end of your cable. Depending on what type of
trans you have, there are a LH or RH driven gear. Unknown to me, I was using a LH driven gear on my toploader. My speedo needle bounced all over the place. Once I figured out I had the wrong gear, I ended up changing the driven gear and the drive gear on the
trans output shaft because it was trashed after trying to mesh with a gear whose teeth were cut in the opposite direction. Hopefully your problem is a simpler fix. Good Luck!!