In most cases, even when we call words synonyms, I believe they usually still vary slightly in meaning, having different nuances as you said. However, even native speakers may not know these nuances. The various synonyms of a word may be something only a highly educated or well-read speaker of the language would know. A person who doesn't know many different words with subtly different shades of meaning will use the most common one.
Also, there is another consideration besides nuances of meaning. There is collocation. Certain words are more commonly associated with a given context rather than other synonyms even if the meaning would be exactly the same. I'll try to give you an example that comes to mind at the moment. The phrase "abundantly clear" is a collocation. Even though a person might almost never say "abundantly", he might use it here as an intensifier because it is often paired with "clear". Say we pick some synonym of "abundantly"---for example, "richly". Nobody would say "richly clear".
I'm not a teacher, so I cannot answer as to how best to explain these differences, however as general advice to someone learning a second language, I suggest focusing on the most common word of any group of synonyms. Learning the subtle nuances among several different synonyms as a conscious effort is perhaps not worth the effort for a non-native speaker.
I have asked ChatGPT questions of language when I was unsure. That particular chatbot is especially good at explaining nuances of language. It wasn't made for explaining language, but it was made to understand language and respond in natural language. As a result, it understands language quite well. I have occasionally stumped it though, and occasionally it has given me wrong answers. The main problem with an AI is that it doesn't know when it doesn't know the answer. Overall, I do recommend using ChatGPT. It's a good option when you don't have any opportunity to speak with an educated, native speaker.