My personal 'solution' to the question 'why use colony ships' was to make the colony module much more expensive and then give colony ships a maintenance reduction like bases. So, yes you can put colony modules on other hulls but it's a heck of a lot cheaper to use actual colony ships.
In one game I put all three types of colony modules onto a baseship so that it can colonize any planet, but it was too expensive and slow to build them so I stopped doing that.