I know two global administrative regions/units (states, provinces, whatever) datasets: Natural Earth and GADM. The latter provides administrative units on six levels, from country scale down to the smallest administrative unit available for a selected country. Unfortunately, not all spatial units have an ISO 3166-2 code (for me, super crucial). On the contrary, Natural Earth provides an ISO code for all spatial units. However, some codes do not comply with the most recent version (e.g., Poland). Further, it is not transparent on which administrative level the units are provided for a selected country; for example, for Italy, the regions are on level two, but for Germany, they are on level one. Welcome to consistency land. In the end, it comes to selecting the least pain in the ass in terms of the dataset you want to use.