should have has the unfortunate double role of expressing present expectation or unheeded past advice.
They should have arrived there by now. (The expectation
is that they have arrived by now.)
They should have been more careful about what they said. (The implied advice
was that they be more careful; they
did not follow this implied advice.)
I've noticed that many
should have's of expectation involve
time, being somewhere by a certain time, and other events expected to
have happened "by now". These often occur in a context where the
speaker is waiting (expecting something).
In my mind, the situation in which men create religions is not remotely
something anyone would be waiting for, so that reading is totally blocked
when I read
Men should have created religions .... The only
interpretation left for me is that these men failed to follow some
advice, explicit or implicit. Though the blocking of one
interpretation suggests strongly that the other reading (advice) must be
intended, this interpretation is equally implausible on purely
practical grounds, i.e., implausible because of our knowledge about the
world. In cases where none of the available interpretations is plausible, the result is an anomalous expression.
From the discussion above, I gather that the intended meaning was the expectation meaning, so a paraphrase like
[One would expect / We can only assume] that men created religions ... is the
sort of thing needed here to convey that thought.
CJ