"Are you guys not eating?"
It is because 吃饭 usually means to have a meal (breakfast, lunch or dinner), even when rice is not included in it.
H-O-W-E-V-E-R, language changes with culture and lifestyle. If it is a barbeque in the backyard that serves as lunch or dinner, I definitely would not say 吃饭. I even don't say 吃饭 for breakfast because in where I live rice has been becoming an exotic choice for breakfast.
Therefore I think it is not required to translate this sentence as 你们不吃饭吗？ Simply 你们不吃吗？should be fine enough.
As you say Keith, it means to eat a meal, even one without rice, just as the English word 'meal' originally referred to ground (or milled) grain, but a meal needn't include such a grain. Think of corn meal, as an example of the earlier meaning. Not having the help of 汉字 (Chinese characters) in English to remind us of the etymology :-), we are even less conscious of this reference to grain as a traditional cornerstone component of a meal.
This sentence certainly is correct in Chinese and is in use frequently. However as the question is requesting us to translate from the English sentence and the words "rice" or "lunch", "dinner" are not included, the context may not always allow us to translate it to 你们不吃饭吗？.
Because it only means the plural you. It’s used by Duo for the sake of comprehension and clarification. It just says this “you” is always plural.
For your latter question. No it’s not necessary if you don’t make the distinction of singular and plural “you” in your speech, you just have to know that 你们 will always refer to more than one person.
It is very logical thinking like this in terms of tense, but in Chinese it is different.
你们在吃饭 You are eating (a meal) is a subjective observation of a state at a certain time. The negative form is 你们不是在吃饭.
What we are asking in English is about the will of people. However, if you say 你们不是在吃饭吗?, you are actually questioning whether "You are eating" would be a justified description of the state. e.g. Are you guys not eating a meal? The table is set and I have just seen you put food into your mouth. Another example: I have seen you guys walking into a restaurant 2 minutes ago but now you are walking on the street again. I might also ask 你们不是在吃饭吗?
Keith explicó arriba que normalmente se usa 吃饭 para comer comida cualquiera, aunque sea sin arroz. Es como usamos la palabra 'meal' en inglés para comida cualquiera, aunque esta palabra viene de una expresión para cereal molido (milled grain = flour, Esp. harina) que podemos ver todavía en 'corn meal' (harina de maíz) o 'oatmeal' (harina de avena). Entonces, podemos ver que en ambos casos, una palabra para una forma de comida más básica tradicionalmente, se convirtió también en una expresión para comida en general. Creo que si quieres hablar específicamente de comer arroz, puedes usar 吃米饭 (Chī mǐfàn).