Since the contract was outside the match, it's not a match violation.
There are very few legal issues, as there really isn't anything the program can sue you for.
If he has an H visa, his first employer might be able to cancel the visa (rather than transfer it) which could have a negative impact on your future together.
It will clearly make his current program upset, which might cause problems in the future (esp if you wanted to practice in that area).
Best option would seem to be open and up front with the PD now, and see what happens. However, I admit that I tend to be supportive of these sorts of problems, and others are not. Remember that someone else did not get a spot in your husband's current program because of his contract, so canceling now has some professional and ethical cost. Still, my personal opinion is that you need to do the best thing for you as long as you give them reasonable notice.