No, these two words mean slightly different things and are not quite interchangeable:
"Просить" means to ask for something - i.e. to request something to be given to you, to request the permission to do something, or to request something to be done.
"Спрашивать" means to ask a question - i.e. to request some kind of info.
So "просит" would be the right word to use if we changed the sentence into something like: "Он снова просит мяч" ('He's asking for the ball again').
They do mean basically the same thing in this context, yes. But you have to keep in mind the following differences in usage.
"Задавать" has to be followed by the word "вопрос" ('question'); while the word "спрашивать" already means 'to ask a question', so "спрашивать вопрос" would be a tautology.
Also of note. "Спрашивать" can introduce both direct and indirect speech:
Он спрашивает, где мяч.
Он спрашивает: "Где мяч?"
"Задавать вопрос", however, is generally used to introduce direct speech or to refer to the fact of someone asking a question without actually mentioning the question itself. Thanks to the fact that the phrase includes the word "вопрос" ('question') itself, it allows you to qualify the question you're referring to.
Он задал мне вопрос: "Где мяч?"
Он задал мне глупый вопрос. ('He asked me a silly question.')
And then there's also this difference in tone. When introducing questions as direct speech, "спрашивать" sounds neutral whilst "задавать вопрос" has something of a formal vibe.
Apparently, both "He is asking where the ball is again." and "He asks again where the ball is." are considered correct here.
But to me, these mean different things in English: only the second one means he actually asked it before. The first one means the ball has been lost before and is now lost again, but it might be the first time the question is asked.
Does the Russian sentence carry both these meanings?
Nope, the Russian sentence means exclusively the latter, otherwise the adverb would be somewhere within the subordinate clause. I can kind of see why the default English translation is how it is - after all, it feels natural to put 'again' at the end, and the sentence still covers the intended meaning - but I totally agree that in this case the only accepted translations should be those that put 'again' right after the first verb, so as to remove the ambiguity.
I thought I understood this better in Russian before I read the official translation and the comments. To me, the word order and comma in Russian removes any ambiguity. I take this to mean that this expression is a quotation that 'He' continues to ask. The only thing lacking in English would be punctuation. He again is asking, "Where is the ball?"
Placing the word 'again' immediately after the word 'He', tends to strengthen the idea that the repetitive act is that of one person. Placing the word 'again' after the word 'asking' strengthens the idea that the asking is repetitive and in this particular instance, it is 'He' who is doing it.
Now I am confused. Does the Russian sentence mean that "Where is the ball?" is a question that is being asked by the same person for the second, third, fourth ... time?