AWS is infrastructure as a service (IaaS). You need to worry about load balancers, backup scripts, firewalls etc. Ie you need a plausible sysadmin to run it. Even Elastic Beanstalk requires some sysadmin.
Heroku is platform as a service (PaaS). It abstracts away the complexity of AWS. The base cost is more expensive than raw AWS but you don't need to source and pay for a sysadmin.
AWS, Heroku and DO aren't "better" than each other, they serve different use cases.
After failing with Heroku we migrated to using Dokku on DO. And yes it is more work to do it ourselves, I didn't want to do that but here we are :) It was not a lot of work, dokku is really nice, but it was/is some work. I was hoping for almost no sysadmin work but that didn't happen.