I asked the author a while back. They said it purely relates to colour. Not other styles. Alas, they removed the issues and there is no record of that.
Joining on a list (as in function two()) is no more memory intensive than joining on a generator expression (function one()). This is surprising at first. Raymond Hettinger has a very good explanation.[0] In short, it's because "".join() needs to iterate over the elements twice, and so it needs to store the whole sequence of string anyway.
It's interesting that while the bookies unanimously have Brazil as favourites [0], this stock market game has Germany ahead of them [1]. It might be because Germany has easier opponents in the group stage.
It seems that different software handles that question in different ways.