If you are using a Cloud service, the problem won’t disappear by switching services. All modern Cloud services are based on usage, i.e. the machine is only running, when it’s actually used.
This is why for certain use cases, you can usually set up always-on instances, which do not shut down and keep running 24/7.
I know, there is a functionality like that for AWS, not sure about fly.io.
Maybe, it is this.
If not, you could still have something access the machine constantly, which would keep it running 24/7.