It seems that the difference between Macbeth as a soldier and Macbeth as a hero lies in the level of humility that Macbeth has in each role. As a soldier, Macbeth fights valiantly in honor of Scotland. The Captain reports that Macbeth has been fearless in battle and that he went after Scotland's enemies out of loyalty to King Duncan. Here, Macbeth is selfless and humble, acting only on behalf of his king and his nation. However, when Macbeth returns and is labeled a hero by Duncan, the praise goes to Macbeth's head. He is thrilled by his new title--Thane of Cawdor--and he wants even more praise to come to him. This sense of ambition motivates Macbeth to trust the witches' prophecy.
Macbeth is not a hero. How is he a hero? He is a soldier though.