I'm not sure that's entirely true.
Things you need to run a blog:
1. Server, preferably secure. This can be set up in an afternoon, maybe on a Saturday or Sunday. You can also probably find Ansible or Chef scripts to automate the provisioning.
2. A directory on the server to hold website content - time to set up is dependent on latency to your server, but is essentially instant.
3. A web server set up to serve content in said directory - probably an hour or two to get a reasonably simple setup.
4. Probably an SSL cert - can be automated with Let's Encrypt, including making your server aware of the cert. Initial setup, maybe another hour.
5. Something to make the content. I like Hugo, but there's lots of other static site generators. Choose a pre-made theme that is the least objectionable to you. It might take another afternoon to get this all set up between browsing themes and writing some seed content.
6. Something to get the content to your server (or you can just keep the whole setup on the server!). I use rsync to deploy a build whenever I commit to the Git repo holding my blog.
Nice to haves:
1. A domain name. It makes your website easier to find, and people are more likely to remember that over an IP address. This will be about a half hour to an hour to set up depending on how shitty your registrar is.
All in all, I spend $5 a month running the server that hosts my blog. I maintain it and built it during hours when I wouldn't have been paid or worked anyways. So I'm out $60. Everything else is free (mostly as in beer, but some is also as in the other kind of free).