Yeah, I know the feeling of being on the unpleasant end of constantly shifting customer whims... certainly not fun.
There's definitely a generational shift imo. I think it's less to do with an actual change in attitudes, but rather that younger developers have come into the field when the CI/CD tools that make breaking projects into small granularity far easier (and with Agile taught to them practically like a religious faith by some people). The result is that they both embrace small granularity / small iterations, but also the crap in Agile that was added to that unnecessarily, which is what makes those small cycles a nightmare in commercial environments.
"Agile" should just mean e.g. "breaking that 60 month project into smaller projects", but for goodness knows what reason the Agile Manifesto and accompanying Agile practices have interpreted this as "never think about or plan anything ever more than two days in advance".