A platform amounts to an OpenCL "driver". Every vendor that ships some kind of device capable of delivering generic computation resources could in theory supply an OpenCL platform dll.
Your observation that the platform corresponds to "the host + compute devices" is not necessarily transferrable to all platforms, it just happens to be the way AMD has designed their platform. It's perfectly ok to separate out the host into its own platform for example, then the only way you'd see several devices in the platform with compute devices is if you happened to have multiple compute devices from one vendor.
I suppose the reason the host is included has to do with it not being possible to create contexts with compute devices from different platforms, or something like that, so it may involve a bit more work for the programmer to make devices work together across platforms.