I find this translation very un-target-like. If the exercise is to translate from Polish to English, the accepted translation needs to be localized in the target language.
Duolingo doesn't give you the word "standing" when having to choose between words on this sentence, making you end up with "The lamp IS on the desk".
And that also is a valid translation for that sentence. I see nothing wrong here either.
We are very unlikely to say it. We simply say that "the lamp is on the desk" (accepted).
We might say that a tall free-standing lamp is "standing in the corner", but we don't usually say that something "is standing" or "sitting" on a piece of furniture.
A heavy lamp can be said to stand, and that is the basic meaning of 'stoi' anyway
if something is standing/sitting/lying without movement - it is na biurku/na łóżku (locative)
if something is moving but all the time is on something it's po biurku/po łóżku (locative)
if something is being put somewhere from different place it's na biurko/na łóżko (accusative)
to make things complicated stawiać/kłaść=put (vertically/horizontally) are often "na + locative" if it's the final destination that's important.
Wow, thanks a lot for this explanation! :) So could I say the following: Postawię kota najpierw na biurko (first step), potem na łóżku (final destination). Po łóżku on długo chodzi. Hope I got that right. :S
It's fine, especially if it's an answer to a question about its whereabouts. It's just not very specific.
Added sits/is sitting.
Remember, that only living creatures can actually "sit" in Polish.