Since Czech has only one present tense, it has to do the work of multiple present tenses that exist in English. Here, the action began in the past and is continuing, so we need "has worked" or "has been working."
Translations that use "already" are accepted.
But The placement of "already" is your suggested sentence ("already seven years") is incorrect. Accepted translations that are similar to your second one are "He has already been working here seven years" and "He has been working here seven years already.."
The meaning is almost the same, it can just emphasize that the speaker thinks that it is a long time or a time sufficient for something.
Please understand that first the Czech sentence is created and only then the English one as its translation. The Czech sentence/answer here was not created as a translation of this English sentence.
"He has already worked here FOR seven years" is indeed accepted. If that was exactly what you wrote, you may have run into the grading bug that pops up now and then. (If not, the word "for" is just misspelled in your comment.) We suggest using the Report button, so that the team can see your actual translation and, if it's wrong, tell you why.