Well, you clearly bought a bad speedometer and need a refund, for one thing. The cable and everything else is fine, but yes, the hairspring that regulates the position of the needle is broken, and this is the result of someone opening and fooling with the speedometer without a clue as to its operation.
I suspect that a bicycle speedometer--digital and cheap; I think Walmart sells them--will do the job if you'd like a speedometer on the bike. These use a magnetic pickup near the wheel rim and you mount a magnet (included) on the wheel. I presume that you can adjust the reading to compensate for the size of the wheel; I haven't tried it.
The conventional mechanical speedometer's cable spins a little magnet near an aluminum cup that's mounted on the same pivot as the speedo's needle. Through the interaction of the spinning magnet and the aluminum cup that cup tends to be dragged along with the rotation of the magnet against the tension of the coiled hairspring, which looks like the one you'd find in a mechanical watch. I have no idea how one would replace that hairspring/needle assembly, though I'm sure it can be done.
Yes, aluminum is non-magnetic, but when you move a permanent magnet near any non-magnetic metal like aluminum or copper, an electric current is generated within the aluminum. And this current produces its own magnetic field that grabs the field of the spinning magnet.