Another reason is distribution. You might want employees to pay no taxes at all on their salaries. And you might want shareholders to pay no money at all on their capital gains or dividends, and yet you'd want company revenue to be taxed. The big difference is in theory, a company can just rotate money within itself forever, take revenue and use it for expansion, or investment, or whatever. So all that money only gets taxed once a shareholder sells, or an employee gets paid, but a large portion gets re-invested in the company itself, which you'd want taxed as well, in order to get a steady flow of cash and also capture its real value.
So: morally corporations should pay income tax because all persons are subject to income tax. And we have decided that corporations are persons. It's no more a "bonus" tax than it is a bonus tax when I pay my accountant and she also has to pay tax on that income (even though I have already paid tax on the money).