I think my hold key must be dirty or out of adjustment because everything else checks good.
Do you get A1 ground at N? Do you get it at M? If you get it at N, but not at M, then the Hold key is open, or a lead is broken or not in the right place.
The light works fine when i jump them, even puts the call on hold.
"them" meaning what? I cannot see how jumping a lamp would put a call on Hold. What exactly did you do to "jump the light"?
Since the problem is a lack of a specific ground, jumping anything is not the method to determine where the fault is. The way to determine the cause is to follow the steps I explained, and follow the path of the A1 ground, from source to destination, with a VOM (meter) set to register 24 Vdc, with one lead on 24 Vdc from the KSU, and the other lead used as a test pointer.
If you suspect the Hold "break" contact, the leads of which are terminated on N and M, then put the meter, set at ohms, across those two terminals. You should read continuity. If you don't, then the Hold contacts are open.
You can access them by removing the two screws that hold the line key assembly to the base of the phone. Then carefully lift the assembly up, until you can see the Hold key contacts. They can be adjusted, as Sam explained, but you must be careful not to bend them too much.
Often, two *other* screws, the ones that keep the whole assembly together, are loose, allowing the Hold key and Line key contacts to go out of adjustment. These screws are not visible until / unless you raise the whole assembly away from the base of the telset, as described above.