I think because different Tabs are sandboxed from each other. Looking at the code in GitHub, the browser is communitcating to a server based application. By doing this in one browser window, you only need on connection between the browser and the server.
This is exactly right. Having said that, I plan to add support for detaching terminals into their own tabs to Gate One in the future. There's no technical reason why it can't be done but it will require a lot of coding.
There's another advantage to having all your terminals under one tab: They don't clutter up your tabs! LOL! If you've ever had a dozen or so PuTTY windows open you'll know that they can really clutter the heck out of your task manager. Having a zillion tabs open would have a similar effect.