Why is there not an English flag for English language? Spanish courses show the the Spanish flag, not the Mexican one; German courses show the German flag, not the Austrian one. It is inconsistent, illogical and confusing not to use an English flag for English language courses. It also makes learning unnecessarily difficult to be required to learn and use American slang for a correct answer instead of straightforward English, especially when words have obviously common roots. For example, the correct translation of "Freunde" should be given as "friends" and not "buddies", which is obscure, parochial slang.
American English has reached into many countries and its influence is quite strong. Also, I think Duolingo may have started here in America. As for Spanish, Mexico is but one of many, many countries in Latin America which speak Spanish. They could not put all the flags in and they chose the flag of Spain, but Latin American words are also accepted. Notice that the Portuguese course is from Brasil not Portugal. There are many more people who speak the Brasilian version, just on sheer population.
"friends" is also accepted and it is the preferred word in the US as well. If you have found a lesson where it is not accepted, please report it. "Biscuits" are accepted for "cookies" among other British words. There are usually many different words which can be used in any given lesson and alternate answers abound. The one at the top of the lesson discussion page is not necessarily the most commonly used version.
Duolingo teaches American English in the courses where users are learning English. But that doesn't mean you have to change your natural language. Use the version you are familiar with and if something is incorrectly marked wrong, use the report button to make the course even better.
On the Spanish flag being used, I guess using the Mexican flag would have created much confusion due to its similarity to the Italian flag.