Well, you’re misguided. It’s not the language, it’s platform features like kv store attached to blockchain that make these dapps possible to implement. And none of them require Turing completeness.
Branching and looping are constructs that you can have in non-Turing complete language with some limitations that don’t matter in practice for the purpose of ethereum or bitcoin scripts.