The recommended way to deploy your project to a Heroku server is through oTree Hub.
There are some unofficial tutorials online showing how to deploy to Heroku via git, etc. I discourage using these methods. There are too many possibilites to get a step wrong, and then find out too late that your experiment runs differently on the server from how it did on your computer, or worse, that participants' data was lost. I think sooner or later, most users of the git-based techniques will end up in a situation like this.
Another issue is performance problems. oTree can run quickly on a small inexpensive server -- if your server is properly configured. People who misconfigure their server often run into performance problems. In an attempt to fix this, they often scale up to very expensive dynos, Postgres, Redis, etc.
Before scaling up your server, you should use oTree Hub's performance monitoring system. It can often pinpoint the performance bottlenecks on your site that can be resolved without upgrading your server.
For most people 2 sites is more than enough. You can reuse those sites forever, for as many experiments and different projects as you want. Even on a single site you can be running many sessions/apps in parallel. And when you launch a new project you can rename a site, e.g. from aaaaa.herokuapp.com to bbbbb.herokuapp.com
That is fine. oTree Studio is a separate, independent feature from oTree Hub's Heroku server deployment.
otree zip then drag and drop the otreezip file into oTree Hub.