1. With increasing number of languages, frameworks, libraries and verticals, it's overwhelming to keep up with best practices.
2. Developers need to do more than ever as everything is becoming digitalized.
3. There is a lot of hype to follow up because businesses now want AI, and before they wanted crypto and blockchain
4. Competition is huge, so the tempo is high.
Are these reasons valid, are there others as well, and is it harder to be a "good engineer"?
So you don't need to keep up on everything to be a good engineer. On the contrary, the best engineers I know stick to one thing long enough to know it deeply, while keeping a light eye on what is new in order to understand when it is worth learning a new skill. It is OK not to do everything. And best practices are not as clear as that term makes it seem - "best" is subjective. Different projects have different needs, so it is good to know what worked for others, but you still need the deep knowledge to make your own decisions.
I don't think the work is any harder now than it was a couple decades ago. But there are a lot more distractions now, so being comfortable with prioritizing where you want to spend your energy is a bigger task that it used to be.