I’ve often seen the suggestion to avoid using the same letter or starting sound for characters, like Amelia and Amber or Jonas and James. This is sound advice, if you’re working with a fairly small cast. When you’re dealing with a large ensemble cast, particularly when it continues growing with the addition of new generations, that advice is no longer practical. However, there are some ways to minimize the risk.
Realistically speaking, you can’t always give a different name to each and every single character. You always want to avoid the extremes of gut-loading your book with current Top 100 names and only using outliers. A book quickly dates if every single character has a name like McMadysynne, Aidanjadenbradencadenmaiden, Ellabella, and CowboyHunter, just as it stands out for the wrong reasons if everyone is named Polyxena, Wolfgang, Ghisolabella, and Demetrius. In real life, social circles are more likely to have a mix of trendy, classic, unusual, foreign, and invented names.
Particularly when we’re dealing with historical characters or characters from traditionally more conservative cultures, it’s not really plausible for everyone to have different names. Let’s be honest, it’s not unusual to find numerous Johns, Marys, Williams, and Sarahs in the same generation of one family tree. During its last century or so of existence, the Russian Imperial Family pretty much used the same dozen or so names over and over again (with some notable exceptions). Even the name Pyotr was only used once after Peter III, on a grand duke born in 1864.
In my Russian historicals, duplicate names include Andrey, Natalya, Aleksandr, and Sofya. The trick is using these names on characters who don’t really appear together because they’re not so closely connected, or using different nicknames. My older Sofya goes by Sonya, and Lyuba and Ivan’s next-youngest child goes by Sonyechka. For now, she’s still young enough to use that nickname. You can also use a name on a major character and on a minor character s/he’ll never share a scene with.
There’s also the trick of distinguishing characters by titles vs. first names or nicknames. I don’t care how old-fashioned this supposedly has become; I’ll always call my adult or older characters Mr., Ms., Mrs., or Miss. This way, there’s no confusion between, e.g., a grandfather and grandson who share the same name.
In my Atlantic City books, the wealthy Sewards have an unbroken custom of alternating the names Maxwell Stanley and Stanley Maxwell among firstborn sons. Father and son share their name, and the grandson starts over. So far, I’ve had Great-Great-Grandpa Max, Great-Grandpa Stanley, Grandpa Stan, Mr. Seward, Max, Fudzie, and Stan. The name Fudzie came to Max in a dream when he was eleven, and he was so attached to it, he used it as his son’s nickname. Mr. Seward threatened to cut him out of the will if Max didn’t kowtow to family tradition by naming his son Stanley Maxwell.
I have a number of Kat- names in my Russian historicals, and I similarly use different nicknames and titles. Lyuba’s mother is Mrs. Lebedeva (formerly Mrs. Zhukova), Katya, Machekha (Stepmother) Katya, Tyotya (Aunt) Katya, or Babushka (Grandma) Katya, depending upon who’s addressing her, but she’s always a Mrs. in the narrative.
Radical Katariina Kalvik-Nikonova is called Katrin in the narrative and by most people, though her husband and sister often call her Kati, and her friends’ children call her Tädi (Aunt) Kati.
Little Katerina Vishinskaya goes by Kittey, a non-Russian nickname I found justification for keeping because of its usage in Anna Karenina. The nicknames Kitty, Dolly, Betsy, and Annie are spelt phonetically, as English, like French, was a fashionable language among the upper-class at that time. I just think the spelling Kittey looks a little more believably Russified than Kitti, Kiti, or Kitty.
Kittey’s sister-in-law Katriyana goes by Kat, which I kept by justifying as her way of standing out from the crowd of 15 sisters and not wanting to be just another Katya. I found out later Katriyana isn’t such a traditional Russian name, but I innocently copied it from Felice Holman’s The Wild Children, trusting those were all real Russian names. I think it works because a number of Kat’s sisters have less-traditional/common names, like Yelikonida, Alisa, and Rozaliya, and by the time you get to your 15th child, you kind of have to think creatively.
Lyuba and Ivan’s fourth-born child (Ivan’s special pet), Yekaterina Koneva, goes by Katya. Her family also calls her ptichka, “little bird.”
When Katya Chernomyrdina appears with Katya Koneva, they’re Older Katya and Younger Katya.
Some Russian names are lucky enough to have several base nickname forms, like Anastasiya (Asya, Stasya, Nastya), Nadezhda (Dusya, Nadya), Aleksandr/a (Sasha, Shura, Sanya), Yelena (Lena, Lyolya), Lyubov (Lyuba, Busya), Dmitriy (Dima, Mitya), Georgiy (Zhora, Gosha), Pavel (Pasha, Pavlik), and Vladimir (Vova, Volodya). In English, names with multiple nicknames include William, Elizabeth, Katherine, the Jul- names, John, and the Al- names. Using child vs. adult forms of a nickname is a perfect way to distinguish characters, like Joe and Joey or Lizzie vs. Beth.
You should always try as much as possible to use different names for every character, but sometimes it’s just not feasible.