If Tardeth or Moondrop finished their dialogs, they would have left and you wouldn't have the duplicates. I found no errors with your dialog file and it follows the same chain as mine. However, dialogs will break if the next NPC is dead or in another area, which you would know that from the design of the Co8 NPC's.
They didn't even start their dialog, that was the whole problem. The only npc that was 'dead' was the druid apprentice, turned to stone?
Zannaster and the dracolich have minimum HP1 so they have to run through a cycle of scripts before they are truly killed. With Zannaster the mage, he has to go through three healing cycles before his Lich-transformation cutscene. When he is lich he will have a cutscene when he is at 1 HP and has to cast some spells or other scripted actions.
Zannaster healed 3 times, allright, but neither Dracolich scripts nor Zannaster cutscene worked. I tried few times before removing min1hp items and finally killing them. In the end, only things I did to finish the quest was: 1. Remove 1hp items, 2. Change global. When Paddy was doing her(his?) talking I went outside, and luckily party of 8 was there, another copy probably. I simply used them and changed the global to initiate ending dialog. I think it's only one case of many but I hope it'll be of any help.
Cheers.