I think the naming convention of naming your kid William (as an example) just so they can be called Bill the rest of their life is even more peculiar. Why walk that extra mile?
I think it’s mostly so they can have some degree of choice over what they are called.
You might call them Bill, but they can decide to call themselves Billy, or Will, or Willy, or William - without the hassle of actually changing their name.
There is also a class thing where naming a kid with a short form is seen as being lower class.
Class is absolutely part of it in my experience. The difference between Chuck and Charles, between Chad and Chadwick, Bob and Robert, and so on. The old money folks I’ve known were very particular about that sort of thing, while few others seemed to care too much.