In American English, "should" and "might," in this context, are not idiomatic. A native speaker of American English would not use either one in the sentence unless they were pretending to be (1) pretentious or (2) British, or unless they are part of a fixed phrase or construction that has preserved this archaic idiom: "I should think not!", for example.
As a native American English speaker, I would use "would" or "could." They do have slightly different meanings, but in context, the differences are unlikely to be important.
In the sentence:
He knew that no one would ever discover his secret
the speaker is talking about whether a thing will happen. In:
He knew that no one could ever discover his secret
the speaker is talking about whether a thing is possible. In practice, they are more or less interchangeable. If you want to understand the difference, consider this sentence.
The smartest man in the world knew that no one would, because no one could, ever solve his devious puzzle.
Here, the speaker makes this distinction expressly: it will not happen, because it is not possible.
In my understanding, "might" is a British, and possibly archaic, variant with roughly the same meaning as "could," and "should" is a British, and possibly archaic, variant with roughly the same meaning as "would."