Seems right to say "They drink juice at lunch" -- this is the common way to express this in English.
Same thing here, that would be "за обідом" (at lunch) or "під час обіду" (during lunch)
This kind of sentence does mean "for lunch", as in, the only thing they had was drinking that juice.
If you have time to explain, why the particular case endings for обід?
They have juice - would sound as a proper American English.
Do Ukrainians even have a mid morning meal called lunch? I thought they ate breakfast, dinner, and supper.
With обід meaning dinner and вечеря supper.
I knew a guy who was having only papaya for lunch. And there's a special diet when people drink only apple juice for lunch. There is nothing wrong here.
at lunch, not for lunch
When you say "for lunch" in English, it means that their lunch is juice only, and nothing else.
To say "They drink juice for lunch" implies that they are not having anything else for lunch. "They drink juice at lunch" is the only colloquially correct to say it in English.