Supposedly, according to one thread here (but I can't find confirmation), Charles could only pick a name that's been used by a previous English or Scottish monarch. It doesn't make sense, but apparently it's some recent thing to do with upholding tradition.
But can't a king make the rules? Can't he break tradition as did Pope John Paul I?