Our head may very well fit two pieces of code which are disparate and which would be use to separate into distinct functions.
----
"Open-Closed Principle... was sage advice in an age where ... we hadn’t figured out refactoring yet ..."
Well, as far as I'm concerned, we haven't "figured out refactoring" yet. I'm currently working with a group of people 75% of whose' work is just gradually and slowly refactoring an existing codebase.
"Nowadays, the equivalent advice if you need code to do something else is: Change the code to make it do something else! It sounds trite, but we think of code as malleable now like clay"
That may be true when you're writing code for your own use, or the use of a very small group of people (the large "user base" doesn't work with the code, they interact with what the code does). When you're writing a library, or code with which near-strangers need to work, you can't just willy-nilly change things. Moreover, you must strive to make your code good enough so that it doesn't need to be changed all the time; an ever-changing codebase is difficult to rely on (unless somebody takes a snapshot, and is back in the case of never-changing code).
---
... but I do appreciate some of the points made. Defining what "one thing" means is definitely not trivial and obvious, for example.