The translation 'He is a great friend.' is also accepted and I think it may merely be that in English a great friend would also be considered a good friend. So DL may merely be stretching a point to cover the interchangeable English usage. (but I am not sure if this is why.)
When certain adjectives are used before the noun they actually have a slightly different meaning. As in this sentence He is a great friend or Él es un gran amigo. But if the sentence were Él es un amigo grande the meaning would be He is a big (or large) man. More likely pertaining to size.
Also just as there is a difference in buen and gran in Spanish, there is that same difference in good and great in English.
I hope that helps. :)
According to this translation site, the third alternative would be the equivalent of what you used. http://www.spanishdict.com/translation Sometimes it is not that your response is 'wrong' per se, but merely that the creator of the sentence has not considered other possible translations. When you believe that your answer should be accepted use the comment section to indicate that. At some time in the future you may find that it has been accepted and will be added. In the meantime, you will find that this is a sentence which will be reinforced in your mind because you have thought it worthy of a comment. :-) Don't let it discourage you.