That is not correct in my opinion. Your sentence puts the emphasis on "him", meaning: we have soup for everyone but not for him... The original sentence means: we have no soup that he would like.
Translation "We have no soup for him" was not accepted. This seems equivalent to "We do not have soup for him" (above), or "We have not got soup for him" (translation given by the program). If there is a difference, I am curious what it is.
I think I see it -- the negative modifies the verb "to have", not the soup.
Indeed, but I think it still should be accepted as it means pretty much the same. In fact, if you map to other languages, the three sentences you mention could get the same translation.
That is a wrong question. Most Czech words can either be stressed or not. Obligatory clitics can only be unstressed and some pronouns either behacve like clitics or can appear in the strong position. See the Tips and notes for the obligatory clitics.