If I own a small business, do I have to pay both corporate tax and income tax even though all my income comes from my small business?

You are not actually being taxed twice on the same income. You refer to corporate tax; if your business is a corporation, then the corporation is taxed on its earnings. But, the salary that is paid to you (and which is what you are taxed on) is a deduction. Salary is only taxed once.

If your business is an S-corporation, the corporation itself doesn’t pay tax; everything is passed through to your individual return. So, again, no double tax. If you didn’t mean to refer to “corporate tax”, and your business is a sole proprietorship or a single-member LLC, again everything just appears on your individual return — the business is not a separate taxpayer. (If the business were a partnership or multiple-member LLC, you probably would not have said: “I own a small business”, so I’m ignoring those. But there would be no double taxation, either. Assuming also that you would not elect to have an LLC taxed as a corporation — which you could do. If you did, the same treatment described above would apply.

There is one situation when there is double taxation. A corporate dividend is taxable to you but is not deductible by the corporation. So if you have a corporation (not a sub-S) and you receive a distribution as a dividend, the tax would be paid twice (but it is once by the corporation and once by you). That may not seem fair, but (i) you probably won’t be receiving dividends, and (ii) that’s the way dividends work for individuals in the US.