Actually, Macbeth does punish Macduff for escaping to England rather than attending Macbeth's banquet. He gives the order to execute Macduff's entire family--his wife and little children. He pays murderers to go to Macduff's castle and kill everyone there. Anyone who is loyal or connected to Macduff, even the servants, are killed. The Scottish nobleman Ross is the one who delivers this terrible and tragic news to Macduff.
Macduff was already planning on helping Malcolm in the fight against Macbeth, whom he sees as a cruel tyrant. When he leaves for England, his wife is angry that he seems to have put politics above his own family. However, these things are inextricably linked. Lady Macduff and her children are all slaughtered mercilessly for Macduff's political decisions. This horrible event lights a fire in Macduff--his actions are now driven by both personal and political agenda. His feelings, rage and grief and a deep desire for revenge, drive the action after this. He ends up being the one to kill and behead Macbeth personally. Thus, Macbeth's cruel order leads to his own death. Perhaps if he had not given the order to kill Macduff's family, the ending of the play would have been different.
It is Macduff, ironically, who obtains revenge by skipping Macbeth's dinner and escaping to England. Macduff was evidently born by Caesarian section in which he was "from his mother's womb /Untimely ripp'd." When Macbeth is told by the witches that he cannot be hurt by "none of woman born", Macbeth assumes no man can harm him. However, Macduff is able to kill Macbeth because his birth was not like normal births. Thus, Macduff obtains revenge over the death of Duncan and restores Malcolm to the throne.