(Back on this week-old message, sorry.) If the "GNU coding standards" guidelines suggest not to include "why" a change was made in a ChangeLog entry, then it should be corrected.
What they suggest is to include the reason for a change as a comment in the code. From http://www.gnu.org/prep/standards/html_node/Change-Log-Concepts.html: There's no need to describe the full purpose of the changes or how they work together. If you think that a change calls for explanation, you're probably right. Please do explain it--but please put the explanation in comments in the code, where people will see it whenever they see the code. For example, "New function" is enough for the change log when you add a function, because there should be a comment before the function definition to explain what it does. Personally, I sometimes put *some* such information in the ChangeLog, because it helps me when I go back later. As for what information should be in the commit logs, the coding standards are silent, and I think that is fine. Different packages and people have different needs and ways of working. karl