Does using a unity Grid Layout and multiple STM object complicate positioning too much? That would be fine for text that's spaced evenly, but I think I've seen a modified grid layout component somewhere that can use the size of what's inside for each row/column. (Together with contentsizefitter & STM that might be a solution)
Anyway, simpler second idea I have: indents and carriage returns!
A string like this will work:
"Damage:<indent=5><u=000D>A</indent>
Defense:<indent=5><u=000D>B</indent>
Complexity:<indent=5><u=000D>Moderate</indent>"

...with "5" being the width between columns (will need to be bigger for bigger text, etc), and <u=000D> being equivalent to "/r", the carriage return, which goes back to the start of a line without dropping down. (and setting the indent changes where the start of the line is)
I hope this helps!