"They cost three euros each."
Translation:Ili kostas po tri eŭroj.
Because it's a preposition, meaning it comes before the word that it modifies ("pre-" = before).
Similarly with something like "Li mortis antaŭ tri jaroj", where "antaŭ" is a preposition and so comes before the "tri jaroj", even though in English we would say "He died three years ago", using the postposition "ago". (One of the very few postpositions in English.)
"Po" is not an adverb whose position in a sentence you can choose a bit more freely but a preposition that's closely associated with its object.
"Because it's a preposition, meaning it comes before the word that it modifies"
But that's not happening in this example. 'Po' is coming before 'tri euroj', not 'ili".
Edit: so it seems a translation that could help people remember 'po' better would be "each (of [subject] are)".
Because it's after the preposition po, and most prepositions take the nominative case, not the accusative.
Similarly with Li havas multe da eŭroj "He has lots of euros", where eŭroj is in the nominative due to coming after the preposition po.
(For advanced students only: Ili kostas po tri eŭrojn is, to my knowledge, also grammatically correct, but it's a bit different - it's equivalent to Ili kostas eŭrojn po tri, i.e. the complement of the preposition po is only the number tri. Something like "They cost euros; three each". But the more common construction, I think, is to have tri eŭroj be the complement of po and say Ili kostas po tri eŭroj.)
I'm pretty sure I just typed it as "po tri eŭrojn" and it was accepted. You'll see it both ways.
Mizinamo says more or less the same thing - although I would have explained it that sometimes "po" is treated like a preposition and other times like a particle. The easiest way to look at it is that you'll see both and the course accepts both and they mean the same thing.