One problem Macbeth has with both Banquo and Duncan is that they each have something he wants. He kills Duncan because he wants to be king. He kills Banquo because he wants to make sure his own sons, and not Banquo’s, are king.
In Act 3, Macbeth is upset that Banquo might know something. He is also upset that Banquo’s sons are supposed to be heir to the throne. He does not understand why the witches would say this.
Upon my head they placed a fruitless crown(65)
And put a barren sceptre in my gripe,
Thence to be wrench'd with an unlineal hand,
No son of mine succeeding. (Act 3, Scene 1)
There is a significant way in which these two speeches are different. In the speech about Banquo, Macbeth actually has reason to be suspicious. Banquo knows too much, and could realistically be a threat to Macbeth’s kingship. Yet Duncan never did any harm to Macbeth. In fact, he did promote him—he just didn’t name him next in line for the throne.
In his speech about Duncan, Macbeth comments on how Duncan trusts him and he, as host, should be protecting him.
He's here in double trust:
First, as I am his kinsman and his subject,
Strong both against the deed; then, as his host,
Who should against his murderer shut the door… (Act 1, Scene 7)
Another difference between the two speeches is that Macbeth seems to have sympathy for Duncan, but has no problem with killing Banquo.