Correct translations that are are normal English include:
"The girl set the bird free."
"The girl let the bird go free."
"The girl let the bird go."
If the girl is holding the bird while they are both inside a cage, then letting the bird go would not be setting it free. Thus, the better translations are 1 & 2.
A translation Duolingo currently accepts that it should reject is "The girl let the bird free." That's a word-for-word translation from the German. Not surprisingly the result sounds like Pidgin English. Or perhaps, in this case, we should call it "pigeon."
Not really. They aren't always the same. ''The girl let the bird go'' could mean she was holding it and released that hold. That doesn't mean she set it free, necessarily. To say ''The girl let the bird go free.'' means the bird was held captive and the girl released the bird from captivity. Since the German sentence has the word ''frei'' and probably means the latter, it is better to include it in the translation to have a more accurate translation (maybe?).