Also, make sure Murdock (the mayer) is dead, I'm not sure if his death seems to required to be trigger the scene that ends the undead siege, but I managed to save him once and kill ALL the zombies and the scene to end the siege would not play.
If they stop at the knights and stop in the town venture into the green smoke and see if there is a stuck zombie in there and kill it if there is. If you have zombies coming where the knights are keep fending them off until they stop. I usually find one or two either by the boats or behind the houses.
Said: 'As others have said search the town for any stuck zombies.