It is punctuation convention, a kind of markdown that helps you see what the structure is. Independent clauses are set off by commas; conjunctions like а, но usially have commas before them even if they only contrast words, not clauses.
Lists are punctuated pretty much the same as in English but without an Oxford comma. "Both ... and ..." structure и ... , и ... has a comma before the second «и» and all и's that follow, unless the whole phrase is a set expression. This goes for «ни ..., ни ...» and «или ..., или ...», too.
Commas and dashes do not, as a rule, correspond to any pauses in speech. Intonation, maybe? After all, the structure of a sentence affects intonation.
Why not узнать, since he wants to find out that one piece of information?
We accept both here but they are not the same (just the meaning overlaps in this case). «Узнать» is "to find out, to learn". Essentially, it is the difference between "to sleep" and "to fall asleep". «Знать» describes a state and, as such, does not even have a true perfective form.
Both «знать» and «узнать» sound OK in this case.
узнать is a perfective verb that means "to find out, to learn, to come to know" (a different meaning is "to recognize").
It obviously makes sense in a lot of sentences with the verb "know". And yet it does not mean "to know" as such.
Ivan is 3rd person but the verb "to know" must be in the infinitive form here because the sentence doesn't say that "Ivan knows", but that "Ivan wants to know." There's probably a more rules-based way to explain this but that's basically it.
I'm confused by the pronunciation. I hear "Ivan kozhet znet gde Anna". This course would benefit from human audio, because it would clear all such confusion.
Here’s how I pronounce it: ivan-xochet-znatj-gde-anna.mp3 (sorry for bad audio quality, I don’t have a better microphone).