No. It's because the word Hund has masculine gender but Brot has neuter gender.
Masculine articles (and some other words) have different forms in the nominative and accusative cases, so kein (nominative) turns into keinen (accusative).
But for neuter and feminine forms, and all forms in the plural, nominative and accusative look identical. Thus kein Brot is not only correct for nominative but also for accusative.
After wir haben..., the object is in the accusative case, so you would have keinen Hund (masculine accusative) but kein Brot (neuter accusative).
Both should be accepted. "We do not have (any) bread" is just more common and this is probably the reason, why the designers of the course thought of it and included it. "We have no bread" is a valid option (as already discussed above). Report it next time, so that it can be included for acceptance.
The present continuous is used for describing an ongoing action around a given point in time, so you could e.g. say "we are having lunch". But in order to state that something either occurs regularly or is the case all the time (or at least for some longer period), you use ordinary present tense. Most uses of "to have" fall in the second category, so the use of present continuous with "have" is rather rare. Another argument is that "have" is not seen as an action that can be performed, but simply as a state.
Technically, "nicht" is an adverb, corresponding to "not" in English, "kein" is an indefinite pronoun, roughly corresponding to "not any" or "no" like in "I have no idea" (literal translation: "Ich habe keine Idee").
The lesson to learn is that negation is performed using a form of "kein", if the sentence to be negated has an indefinite accusative object (i.e. one with an indefinite article or no article at all). All the other sentences are negated using "nicht". This particularly includes sentences with definite accusative objects or no accusative object at all.
"Ich habe einen Hund" --> "Ich habe keinen Hund" (accusative object with indefinite article)
"Ich habe Wasser" --> "Ich habe kein Wasser" (accusative object without article)
"Ich habe den Hund" --> "Ich habe den Hund nicht" (definite accusative object)
"Ich habe meinen Hund" --> "Ich habe meinen Hund nicht" (also definite)
"Ich laufe" --> "Ich laufe nicht" (no accusative object at all)
Note that in English you can say "I have no idea" as well as "I don't have an idea". But in German only the first version works.
It's been more than once that I was sure that my answers were true and I don't know why it said I'm wrong
In such a case, I recommend making a screenshot that shows the question and your answer, uploading the screenshot to a website somewhere such as imgur, and posting the URL of the image in your comment here asking for help.