If William want to honor his mother he can name his daughter after his mother's nieces.
Elizabeth Eleanor Jane
Elizabeth for the Queen and Diana's sister Elizabeth Sarah Lavinia. Diana's sister Sarah main godparent was Queen Elizabeth the Queen Mother. The custom was to name the god child after the primary godparent. Elizabeth Sarah Lavinia was named after the Queen Mother. Naming the baby Elizabeth would honor the Queen, the Queen's Mother, Diana through her family and Catherine through her and her mother's shared middle name.
Elizabeth would connect the baby to both sides of her family and each honored person can feel they are the one being primarily honored. The Queen would be happy because the child is named after her and her mother. Charles would be happy because the baby is named after his beloved grandmother. Kate, Carole and the Middleton family would be happy because they were included in the royal baby's name. Diana's family will be happy because it would publicly connect them to the royal baby.
Eleanor because it is the name of Diana's niece Eleanor Ruth Fellowes and her niece Kitty Eleanor Spencer.
Jane because it honors Diana through her sister Cynthia Jane, her niece Laura Jane Fellowes and her niece Emily Jane McCorquodale.
Twelve people honored with just 3 names.
The Queen, Queen Elizabeth the Queen Mother, Catherine, Diana through her family, Carole, Sarah, Jane, Charles Spencer through his daughter, Emily, Laura, Eleanor and Kitty.