This is an excellent question. If we look at it from the perspective of Macbeth himself, it can be answered that the main reason he has for not killing Banquo and Fleance himself is that he is concerned about his public image. He hopes against hope that he and his wife have gotten away with their murder of King Macduff and their usurpation of the Scottish crown: but he would like to keep a low profile and try to build a good reputation with the people. It turns out that his hired murderers bungle the job of killing Fleance. Macbeth is widely suspected of being behind that father-son murder attempt, and this leads to his being suspected of the murder of King Duncan as well.
From the perspective of Macbeth's creator, it appears that William Shakespeare wanted to preserve some degree of audience sympathy for his tragic hero. We, of course, know that Macbeth was behaving villainously. But he loses less of our respect by distancing himself from the deed as much as possible.
The same would apply to Shakespeare's reason for having Macduff and his family killed by emissaries. When Shakespeare has Macbeth meet his downfall in the fifth act, it seems obvious that the playwright wanted his audience to preserve at least some small amount of sympathy for his tragic hero. So Macbeth's crimes are either perpetrated by agents or else are only described by others, such as Lennox and Ross.