We don't know Gigi's history -- she was a stray who just showed up in the driveway and moved in under our deck and never left. But she was JUST like that at first, for about a week. She'd run when she saw us. She'd stand at a safe distance and we could talk to her but she wouldn't even take food if we tossed it to her. We had to put it down and go inside. If we made any move toward her, she'd run off. So we'd sit on the deck with George and pet him and talk to her without looking at her and I kept telling her what a GOOD girl she was. She WANTED to come and be petted so badly but she was just terrified. We're sure she was abused and ignored.
Then one day I was on the deck and she was in the driveway and I said "hey, G.G." (that stands for "good girl") just to be saying something to her, and suddenly she RAN up the deck stairs and sat down on my foot.

Apparently, she decided that since she had a name, she must belong here, so we were sort of stuck with calling her "G.G." but I changed the spelling to Gigi so it would be more like a name and less like an afterthought, which was what it was to begin with.

It took a couple of days after that to coax her into the house and even then she'd only come into the kitchen at first, but she would let us pet her and she'd lean against our legs.
Now, of course, she's attached to my leg everywhere I go and I often trip over her or she yanks my slippers off because she's so close behind that she's stepping on the backs of them. I can't even go to the bathroom without her.
My point -- and yes, I do have one

-- is that if you're very, very patient and don't push him and keep talking to him and use his name A LOT, he'll soon figure out what's what and he'll be sitting on your foot, just like Gigi sat on mine. There is no loyalty and undying devotion like you'll get from a dog who's been starved for affection. Use his name at every opportunity, no matter how silly it sounds. Say "Butters is a good boy. What a good Butters he is. How's Butters today?" and stuff like that, working his name into everything you say to him. It won't take him long to figure out that's his name and after that, he'll probably be in your lap stealing your food.
Do remember, though, that he'll probably be very nervous and shy for a while even after he lets you pet him. We've had Gigi for almost three years and she still jumps at sudden noises and freaks out when you drop something and runs if you raise your voice, even if I'm just calling Hubby to the phone. Don't make sudden moves and speak to him very gently so he feels safe and secure with you.