> Mandarin wasn't really written until about 120 years ago. Before people would write classical Chinese. It's a "written vernacular/白話文
This is true, but it's a separate issue from having various dialects. Language evolves as time goes by, and in the case of Chinese before "written vernacular", people would write in the same form of ancient Chinese (regardless of pronunciation) which diverged a lot from what people actually speak. With the promotion of "written vernacular", people started to write what they speak, irrelevant of dialects.
Even though each of the dialects have some special vocabulary, and even different grammar, that doesn't mean they're not still "MOSTLY" the same.
I speak a southern Chinese dialect myself (I don't know what to call it in English) which is also dramatically different from Mandarin. Yes it has a few words that we commonly used, that I thought to be unique, but it turns out all of the characters and words exist in standard Chinese dictionary. Those words actually existed for a long time, and they are just no longer commonly used by other people. That said, learning to speak Mandarin is no where close to be like learning a new language. Vast majority parts of the language are still the same. Hokkien might be slightly more different but still no where close to being a separate language.
On the other hand, Japanese is undoubtedly a separate language, even though it also use Chinese characters (plus about 100 characters of their own), and many of the Chinese characters and words in Japanese actually means the same as they do in Chinese. No one would claim Japanese as a dialect of Chinese, because the difference is both significant and clear.
I think you also agree that both Taiwanese and people from mainland China CAN read Hong Kong newspapers, just not as fluently. Part of the reason is what I said, different writing systems. The other reason is that people do use some different words, especially for new concepts. Since Taiwan, Hong Kong and mainland China has been fairly separated for a long time, divergence is inevitable. For example, new words like "program" is translated in different ways: "程序" in mainland China, and "程式“ in Taiwan. Again, this has nothing to do with dialects. Mandarin speakers form mainland China would not be able to read Taiwan newspapers as fluently even though it's also Mandarin. Cantonese speakers from Guangdong province couldn't read Hong Kong newspaper as fluently even though it's also Cantonese.
On the other hand, I grew up watching many Hong Kong movies that were spoken in Cantonese but with Chinese captions. The captions needed no translation at all - They were just what the actors were saying. After watching many of those, I could even understand some Cantonese though I still couldn't speak those. I admit there are occasionally some word that seems unfamiliar to me, but it didn't impacted much. I don't believe you can do that with a different language.