Is there a logical explanation why 非得不 and 非得 means must?
非得 itself is always negative. The sentence contains only 非得 could be positive when there is a 2nd negative (most likely 不可) being omitted. This omission is common in colloquial language but not as common in written language or formal speeches.

Reference #1 below is a semantic analysis for the pattern 非..不可. It mentions the fact that 不可 can be omitted.

Reference #2 contains a lot of literature/publication citations where the 2nd negative of a double negative sentence is omitted.

In reference #3 the writer thinks the omission is grammatically wrong and is due to people not treating the language seriously.

References:

1. “非……不可”句式在对外汉语教学中的研究

2. 无可无不可的“不可”

3. 肯定、否定、否定之否定