Yeah, the line break thing is an issue. You should be able to workaround the issue by using custom HTML code. You can use <br> for a line break or <p> for a paragraph.
Otherwise, as you suggested above, you can solve this issue by writing your own custom HTML code in Make, and automating your emails that way.
You said you can’t insert personalized fields with Make’s Gmail automations, but that’s exactly what Make is designed to do. You can definitely insert personalized fields. Same thing with inserting a photo in a signature. I do this with my own custom HTML code in Make. You just need to make sure that the image URL is publicly accessible — that’s the trick.
It can take a few hours to learn Make, so I’ve assembled a bunch of Make training resources in this thread that might help you: https://air.tableforums.com/t/make-com-basic-navigation-tips/277
For example, to instantly trigger a Make automation from Airtable, check out this thread on instantly triggering a Make automation from Airtable using a webhook. https://air.tableforums.com/t/sending-airtable-data-to-an-external-webhook-such-as-make-com/159
And Make even created an entire Make Training Academy here.
I also give live demonstrations of how to use Make in many of my Airtable podcast appearances here:
https://www.youtube.com/watch?v=SbH9iE5ncCk&list=PLqssva4liHRwHhQIpTXekG8WObEoyC2F1
I had this exact problem. Text that was carefully designed using the Rich Text editor would get wonky formatting once the Rich Text was passed to an email/gmail automation step. Very frustrating.
I was able to solve the problem using a script that forced the Rich Text though a long loop of RegEx replace functions in scripting. If you're still having difficulty with this, reach out to me and I'll see what I can do
Note that if you use Make, you can use their Markdown to HTML module to convert Airtable's rich text fields into HTML for use with emails.
So your scenario could look something like the screenshot below, but this is just an example of what it could look like:

i'm surprised this doesn't have more attention. i've spent time generating workarounds for this on two separate projects.