There are several considerations for such a decision. First, I am assuming you are a startup so cost is a definite concern and with that if we were speaking in realtime I would ask you what your expected initial traffic or user load would be. If in the 1,000's then a vps solution from someone like digital ocean may actually be the better solution for you. The main difference of a vps versus AWS or GCP beside cost is the services are all contained on one or more virtual servers verses as a service. Anything you can do on AWS or GCP you can do with some setup on a VPS. A client I worked with in the past jumped to soon to a cloud provider and the costs killed them before they had enough users to cover the costs.
If you are expecting millions of users or traffic requests then the answer of which provider comes down to what stack specifically you are wanting to implement. Both providers offer a SQL DB and even different forms of non-relation DB solutions. Both do handle Python in various ways and both also have solutions for MQTT. So to give a better recommendation would require more specifics from you. I have built an IOT solution and web platform for a client before and would be happy to help you over a call if you need more help.