In my view, no license can enforce being a good citizen of the open source community. In the embedded space, I've seen vendors bound by the GPL follow it in letter but not in spirit (ie, delivering unusable code with a ridiculous toolchain), or just straight up ignore it (what are we going to do, sue?). On the flipside, good citizen vendors frequently contribute upstream even when they don't have to.
It specifically does not require you to pay homage to the original author. The point is to ensure that the code remains free, the original author has no say over what happens to it.
Whether the GPL is good enough for that depends on whether end users are recipients of binaries and therefore would be entitled to the source under GPL.
I once discussed that with my employer and they agreed: it's almost never a good idea to fork a product in order to fix bugs, since you will have to continouiusly maintain the fork. If you get the fix upstream, you'll get the maintenance for free. So this often is not out of generosity, but rather in their own interests.
Licenses are contracts. You can add to the contract that people who fork must do star-jumps every morning, if you feel like; but you have to state it upfront.
It baffles me how many people fail to understand this.
Both are about freedom that is only directly meaningful for developers or people that can employ developers on their behalf; permissive license are about simply providing that freedom rather directly, with limitations that tend to be focussed mainly on avoiding unexpected costs to the original provider of the software (liability, reputational, or otherwise). Copyleft licenses compromise direct provision of freedom to acheive broader but less direct social goals which relate to that freedom.
If you both agree with the goal and agree with the pragmatic judgement involved in the design of the detailed mechanics in a particular license about how to acheived that goal, its quite possible that a copyleft license is better for your interest.
Personally, whether the goal is (and these are two very different goals I've seen cited by GPL proponents) promoting development of free software or inhibiting development of nonfree software, I'm not sure the GPL family (or any other copyleft license) does that better, in practice, than permissive licenses.
The GPL is better at inhibiting nonfree direct descendants of a particular code base, but I don't generally see that as a valuable goal.
GPL is the better license for net freedom. - it's not, because of it's virality, it pollutes other code and then demands everything fall into it's license, which is ethically wrong.
Nobody has a gun held to their head and are forced to use GPL code in their code.
These are, honestly, expensive questions to answer as the tech gets more complicated - at what point is linux part of the binary you're distributing vs. an external dependency and, if you get the answers wrong, you'll potentially create an outage that will wreck havoc on the economy by grinding the cloud to a halt and cost Amazon tens of billions in revenue.
This is a very, very, complicated situation.