It sounds like you already got your answer! I had already written this before I saw Greg's comment, so I'll go ahead and post it in case it adds anything helpful.
To "die like a dog" is a phrase. It means to die without any human dignity, usually in a very miserable or gruesome way.
"For no good reason" is also a phrase, but the meaning is pretty literal. It basically means "for no reason at all," or "for reasons that don't make any sense."
Hemingway is using the two phrases separately: in modern wars, people die in terrible, inhuman ways. In modern wars, people also die for no reason. (Their deaths do not accomplish anything or lead to any positive outcome.)
(And as Greg said, "sb" isn't a word. It's sometimes used in dictionaries to mean "somebody," but it's never used in any other context, so most English speakers won't know what you mean if you write "sb" in a sentence!)