However I still would like to understand why the answers changed. And more importantly, what remained invariant between the art of programming then and now.
I'd hazard a guess that what changed was access to the data.
In non-OO code, since you've got direct access to the data its easier to roll multiple actions into a single sub. With OO code, though, the driving sub can't do that, so it calls into methods on the object to do it, and generally when people write the methods they make them single-purpose so they're reusable.
What you get is essentially another level of indirection--rather than a sub that looks like:
code to do A;
code to do B;
code to do C;
you end up with:
object.method_to_do_A;
object.method_to_do_B;
object.method_to_do_C;
since people seem to be more inclined to make methods do less stuff than they are to make functions do less stuff.