I know Elon says Multiplanetary this and Mars that but the real reason for the Starship push is Starlink. They need Starship to put bigger (V2s non-minis and V3s) and more satellites into the orbit if they want to get to that 35000 number this decade and not break the bank. They need to hurry before the likes of Amazon get their shit together and start building their own internet satellite constellations.
Elon Musk has been talking about Mars colonization since 2001, and first brought up the idea of a "Mars Colonial Transporter" mega-rocket in 2012. Starlink did not come along until 2016; that business was created to provide a profit-generating customer for Starship.