～てならない: This is usually used with 気がして, 思われて, 考えられて, or sometimes negative feelings such as 腹が立って, 恐ろしくて, かわいそうで. It means "cannot help feeling ～" or "some emotion/feeling spontaneously occurs to me".
～てたまらない: たまらない on its own means "unbearable", so this explicitly describes how the said feeling is troubling you. 恐ろしくてならない and 恐ろしくてたまらない are interchangeable, but the latter sounds you are very afraid.
～ないではいられない, ～ずにはいられない: These tend to sound more proactive and emphatic. 助けないではいられない usually means you do want to help someone, not reluctantly nor passively. As compared to passive ～と思われてならない, ～と思わないではいられない is usually a way to emphasize your way of thinking is correct. In other words, 思われてならない is closer to "I kind of feel ～", whereas 思わないではいられない is closer to "I must say ～". The difference between ない and ず is very small in this case.