This is a disguised version of a child's not sticking up for himself. As you think about it, you will see what motivates your child. On the surface, he wants approval, positive feedback, and to be seen as a helpful person who causes no trouble. The last part is the key. His main motivation is to cause no trouble. He wants to keep everyone from getting upset or angry, especially with him.
Instead of seeing the sign as the problem it is, many parents tend to see the behavior as positive, cooperative, and desirable; and in some ways, it is. The important question is how much and how often you see the behavior.
Trying to please everyone and keep everyone happy is likely the most common cause of tension and stress adults have. Think about yourself. How much of your stress is because of trying to meet everyone's needs and trying to keep everyone happy? You likely know it is unreasonable but may try to do it anyway. You at least have an opportunity not to pass the behavior on to your child.
Children learn what they are taught. Not pleasing adults or not keeping them happy may have lead to very bad things happening to the child. It may have been his only hope for protecting himself. Even if there was no real threat, there may have been an alcoholic or mentally ill family member for whom he felt responsible. The family law said, "Do whatever you have to do to avoid upsetting anyone. Keeping people happy is your job. If anyone gets upset, drinks, or gets mentally ill again, it's your fault." Guilt, especially irrational guilt, is powerful.
If none of the above conditions are present, discourage your child from always doing things for people. You can be slower to let him help and tell him it is not his job to keep people happy. In fact, he cannot make people happy and would be better off were he a little more selfish and self-centered.