"What, doesn't she have any butter?"
Translation:У неё что, масла нет?
Что is used as a particle here to make the question stronger (even sometimes aggressive, but sometimes sympathetic, it depends on the context and intonation). It can be used in the beginning or before the emphasized part. It's quite common in spoken Russian.
- Что, у неё масла нет?!
- Там что, кто-то есть? (what, is there someone?)
- Ну что, выиграл? (so what, have you won? sympathy or impatience)
- И что же, все умерли? (so what, has everyone died? же is another emotional particle)
I consider such constructions as something to get used to in any language.
I think what EdvKz was saying is that "не масло" and "нет масла" have different meanings. "Не масло" means "not butter", while "нет масла" means "there is no butter". "Не" means "not". "Нет" can mean "no", but it's also used as a verb meaning "there is no" or "there are no". And the object of the verb "нет", in this case "масло", has to be in the genitive case: "масла".
не is used for when something isn't X or Y, so what you're actually saying is that what she has isn't butter.
The correct word is нет because there is no butter. нет is used when talking about the absence of something.
Yes. Почему (used typically in the contexts of things that are out of a person's control, like "Why is the sky blue?" or "Why was the movie so short?") and Зачем (used when you want to know the motivation behind a person's actions or are interested in what their end goal is, such as "Why did you push your little sister?" or "Why did you go out so late last night?").
"Why not?" is a little trickier, but a simple translation of that is Почему бы нет?
Anyway, neither of those is very relevant to this exercise, since it's merely expressing incredulity at the idea that this woman doesn't have any butter.