I'm not entirely certain that's a good explanation.
For most of history, literacy isn't exactly common. I'm not finding easily accessible any estimates of literacy rates for early (say, Qin dynasty) China, but numbers for medieval Europe suggest something like 10-30% for relatively broad definitions of literacy, which seem to be commensurate for estimates for Qing dynasty China. Especially if you look at the period at which Chinese characters essentially ossify into their modern form, it's not clear to me that there's a wide diversity of topolects that it has to approximate, almost certainly nothing to the degree of modern Chinese.
For another thing, mediating among linguistic diversity is something that all of our other scripts have had to do. Cuneiform was used to write the administrative languages of different language families (Semitic languages like Akkadian, Indo-European like Persian, and who-knows-what-language-family-these-are like Elamite), and yet it was a syllabary. Even Chinese script itself starts devolving into a syllabary when Japanese adapts it.
The reason I think Chinese resisted becoming a syllabary was because Chinese was poorly suited for such a transition: my understanding is that words in Chinese are largely monosyllabic and involve a decently high degree of homophones. Furthermore, reconstructions of Old Chinese also suggest a relatively complex phonotactic structure, which means a syllabary that largely covers a CV-syllable scheme is hard to adapt. In other words, Chinese may have been a rare language in that conversion from a logography to a syllabary would not have dramatically reduced the amount of characters one would have had to have learned. (Note also that the reduction of a syllabary to an alphabet, abjad, or abugida happened effectively twice, with Phoenician (or some ancestor) and Korean Hangul).
I don't see how your explanation and GP's explanations are mutually exclusive.
To add some detail to this point:
> my understanding is that words in Chinese are largely monosyllabic and involve a decently high degree of homophones.
A syllabary would have had to represent phonetics as well as tones, which would have multiplied the required syllabary by n number of tones. For instance, Mandarin has 4 (or arguably 5) tones. The "ah" sound has four pronunciations: ā, á, ǎ, and à. Hong Kong Cantonese has at least 6 tones, having purportedly lost a few. Different dialects of Chinese have different numbers of tones, and some have been lost or gained within the same dialect throughout history.
For most of history, literacy isn't exactly common. I'm not finding easily accessible any estimates of literacy rates for early (say, Qin dynasty) China, but numbers for medieval Europe suggest something like 10-30% for relatively broad definitions of literacy, which seem to be commensurate for estimates for Qing dynasty China. Especially if you look at the period at which Chinese characters essentially ossify into their modern form, it's not clear to me that there's a wide diversity of topolects that it has to approximate, almost certainly nothing to the degree of modern Chinese.
For another thing, mediating among linguistic diversity is something that all of our other scripts have had to do. Cuneiform was used to write the administrative languages of different language families (Semitic languages like Akkadian, Indo-European like Persian, and who-knows-what-language-family-these-are like Elamite), and yet it was a syllabary. Even Chinese script itself starts devolving into a syllabary when Japanese adapts it.
The reason I think Chinese resisted becoming a syllabary was because Chinese was poorly suited for such a transition: my understanding is that words in Chinese are largely monosyllabic and involve a decently high degree of homophones. Furthermore, reconstructions of Old Chinese also suggest a relatively complex phonotactic structure, which means a syllabary that largely covers a CV-syllable scheme is hard to adapt. In other words, Chinese may have been a rare language in that conversion from a logography to a syllabary would not have dramatically reduced the amount of characters one would have had to have learned. (Note also that the reduction of a syllabary to an alphabet, abjad, or abugida happened effectively twice, with Phoenician (or some ancestor) and Korean Hangul).