"špatný" means bad, of poor quality, "zlý" means evil, "mylný" means wrong, incorrect or erroneous
"Špatný" has the most wide range of possible meanings from these three, it could be translated as bad, poor, wrong or false. Some examples: "špatný den" = bad day, "špatná nálada" = bad mood, "špatné znamení" = bad sign, "špatné zprávy" = bad news, "špatná odpověď" = wrong answer, "špatný člověk" = bad/evil man (you can say "zlý člověk" as well, there is only a slight difference)
Are there any differences in pronunciation or it is just a matter or etymological spelling?
There is a slight difference in pronunciation in some situations. See the next-to-last note in the Tips and Notes at https://www.duolingo.com/skill/cs/Phrases/tips-and-notes.