I'm frequently in a similar situation, as the name my fiancé knows me by (and prefers) is not my birth name, which has made our wedding preparations a bit more complicated.
In my experience, the people that question your name and ask for a different, "proper" one believe they have a right to do so, either because
In essence, it conflicts with their idea of what is proper or, in some cases, with what they view as fact (more on that later), based on whatever authority they follow.
Case 1: They mean no slight
Some are simply more comfortable with the familiar, and reject anything out of the ordinary out of habit. For a few people, this includes nicknames. They might also just be very curious. People in this category can often be convinced by giving them a narrative of the name's origin or why it's your chosen name. We've often had to tell people
"I was named after a Russian woman my parents met when they were
pregnant."
or
"No, I'm not Irish, but I'm in a Folk band and we met at a festival."
They need a reason to leave their comfort zone, and by offering an explanation, you help them overcome cognitive dissonance and at the same time create associations that might make it easier to remember an unusual (for them) name.
Older folks might also perceive not telling them your birth name as dishonest or impolite. In this case, a simple
My birth name is Frederick, but no one calls me that.
might do the trick.
Case 2: They believe they know better
I've met some conservative people (very common in civil servants, where the idea is reinforced by their job requirements and culture) that didn't differentiate between the letter of the law (again, worldly or religious) and physical reality. If (the correct) someone printed your name on a piece of paper, that was your name, and to disagree was to state an obvious falsehood.
In general, people like that do not change, and they know no middle ground. Your best bet is to not even offer them an alternative to the name you gave them, or failing that, remind them, every time, that what they are calling you is not what you want to be called, and if they do not stop, point out that they are being deliberately impolite and ask them why.
Finding out which is which
From your description, I'm not sure which category your friend's parents fall under. You might not know either. When in doubt, I always assume case 1 and progress "down the ladder" from offering an anecdote, to asking them politely, to confronting them (in a factual, not an accusational tone) with your view of their actions.
If they agree to use your preferred name, great. If they outright refuse, well, they've made their stance clear and you know where you stand.