In python, you may have uwsgi application server run multiple instances of your application at the same time.
The problem is not about load-balancing incoming requests in which goroutines do best. You can have many goroutines run concurrently but until the main app is alive. If the app crashes no goroutines are there to process any task.
My question is: how we can run multiple instances of one go app at the same time?. If the problem is solved in another way by Go, what is that?
As people have stated prior, you'll want to have various instances running to help decrease downtime. Theoretically multiple instances on the same server will prevent most of the software crashing downtime. If you're worried about hardware failure, you'll want multiple servers running with some loadbalancer/proxy handling the request. Things like nginx or haproxy will provide that.
You may also want to consider containerization for this. Containerization allows you to easily run multiple software instances of your application, and it'll be easy to ensure you have the number you want. Kubernetes and related apps will improve this reliability even further, and give you clustering.