Wow. Did you confess the mixup or what?
Nope, I just hid from him for the rest of summer camp, so he wouldn't try to follow up. I also did not confess: thinking I had the same prof for both my epidemiology classes until Thanksgiving when I found out there were two separate people.
I once was telling my Democratic Rhetoric prof how glad I was I dropped Abstract Algebra and realized mid paragraph I was talking to my Abstract Algebra prof and switched to "because I just don't have time to do it justice and I think I'll be able to make time next year."
I've always been bad at names. But this semester, as part of my duties as a physics teacher, I tried to learn the names of 100 students. It went alright - two months later and there are still some I have trouble with. At the start, I was a bit worried. What if I've just read to many books and things, and used up most of my abnormally small allotment of memorized names? Then wasting names on students would be a really bad idea.
But things turned out not to work that way (as might be expected from how big the human brain is, viz people with eidetic memories). I've started remembering peoples' names after just one introduction, sometimes two. And the reasonable culprit just seems to be practice. You practice learning names, you get better at doing so. Before, I made occasional conversational detours if I couldn't remember someone's name. Now, I ask them again, because I'm confident that I'll remember it without tons of further awkwardness. If I'm really having trouble, sometimes I've written down a name with a short description, and that usually cements it. Remembering names isn't the most important social skill I've learned, but it's a surprisingly dramatic one - it makes me feel closer to people, and vice versa. And it only took having to learn the names of 100 people to get started.
The lesson from this is not necessarily just about learning names, though that might be useful to you. The lesson is about how ordinary people get a lot of practice at doing things like remembering names - if you can't do something that someone else can do, practice may be an effective place to start. What seems like a property of yourself ("bad at names") may turn out to be quite mutable with the kind of practice those other people are doing.