I'm not particularly imaginative either. Hubby is Hubby because he's my husband. When I was seeing Guy, he was Guy because he was "the guy I was seeing."
S2 is S2 because he and Hubby have the same first--and as it turns out, middle--name, so Best Friend and I started calling him S2 to differentiate which man we were talking about. S2 is actually the nickname we use for him in real life, which amuses him greatly. When he first introduced himself to Alt, because he walks past her school each morning and had recognized her as my daughter because she and I look alike, he actually said to her, "Hi, I'm S2."
Best Friend is called that because that's who he is in my life. Alt's nickname is because she goes for more alternative looks (piercings, tattoos, unnaturally colored hair, etc.). Country's is because she likes country music, loves farms, and is training to be a veterinarian with an eye toward opening a practice in a rural area that doesn't have a vet nearby. Spikes is Spikes because that's the hairstyle he asked Alt for when she cut his hair last weekend; Beads is Beads because he's autistic and enjoys running beads through his fingers and watching them fall.
Some people here choose alternative names for the people in their lives; I chose to go mostly with nicknames that identify the people, rather than being actual names. For people who are minor characters in our lives, I sometimes choose names (like Betty), but more often still go with identifications. (Maple enjoys hiking and camping; Cat's screen name on the website we belong to is the name of a large wildcat; Ash is a smoker. I called Best Friend's girlfriend "Star" because her daughter was friends with Esther Earl, the girl who inspired John Green to write The Fault in Our Stars.)
I agree with Emm about the initial thing... even if your people didn't all have the same first initial, it can get confusing to try to remember which initial refers to which person.