Translation:He does not eat cake because he is fat.
I translated this as "...because it is fatty" (meaning the cake) - and that was not accepted. The next time I tried "...because it's fat", and that was accepted. So I think the makers want both versions (that he or the cake are "gras") to be accepted. However in English, I think you wouldn't refer to a food/dish rich in calories as "fat", rather as "fatty". I made the suggestion that be accepted.
“fiindcă”, “pentru că”, “din cauză că”, “deoarece” are always translated as "because" (though the notes say “pentru că” means “therefore” – probably a mistake). “Since” and “as” are never accepted, though I fail to see the big difference. Sorry if that is due to my low level of English.
You are right – but before you can learn a language “idiomatically” you need a fundament of some basic vocabulary and grammar rules. To acquire this fundament Duolingo's “Golden Rule” is very useful: “translate as literally as reasonable and (only) as freely as necessary.”
Here I see no reason to use an only partially correct English translation when a fully correct one is available. The Romanian sentence is ambiguous, so the English translation should be ambiguous as well. (Yes, I wrote this elsewhere on this page.)
Occasionally you will find an exercise where no (even somewhat) literal translation is possible, and an “idiomatic” translation is required. But remember that this course starts at beginner level and is intended to lead you, I think, to B1 level.
I understand but Duolingo's objective is not to avoid ambiguity but to translate. The Romanian sentence is ambiguous, so the English translation should be ambiguous as well.
In Romanian, “because it's fattening” might be “fiindcă îngrășă.” That would be clearer in Romanian if the English translation were changed as well, according to your proposal.