Many answers here refer to the limitations of domestic TV sets (some of which has to do with the CRT phosphors / shadow mask dot pitch of a particular make and model) and the luma / chroma bandwidth limitations of the TV-standards-compatible composite color video signal, RF-modulated or not. And for a good reason — the “home computers” of the era were designed to be compatible with the domestic TV set so that purchasing a separate, expensive computer video monitor would not be necessary.
“Business” computers would come with a special computer monitor, instead — often monochrome only. Or if in color, employing straightforward analog RGB or digital RGBI signaling from the video chip to the monitor to drive the CRT guns, instead of the bandwidth-limited trickery that is the composite color video signal.
It should be mentioned, though, that the Commodore 64 supports not only composite signal (both RF-modulated and baseband versions), but also, through its A/V port, separated luma and chroma — in practical terms, s-video signal, even though that standard was not established yet when the C64 hit the market. Commodore and some video monitor manufacturers called it “LCA” signal (luma, chroma, audio) and provided inputs for it. This is markedly better in quality than composite color video signal.
Still, the limited number of text columns / “wide” pixel clock on the home-oriented computers is primarily because the designers were catering for the lowest common denominator — users who would only have a TV with the typical austere set of input signal choices (usually RF only) of the late 1970s / early 1980s.
Also, when generating a TV-compatible video signal, you need to adhere to the same “safe area” principles as the TV broadcasters — that is, restrict any important parts of the picture — such as text — within the imaginary “safe area” borders to compensate for the overscanning domestic TVs. The TV-connectable home computers did this by adding large borders around the picture, but those technically waste active picture area/time/resolution in the signal that could be used for content. You generally don’t need to design your signal/screen content with the “safe area” in mind when generating signal timings for a pure computer monitor as those are usually not set to overscan.