The reason is that you are considering the same SNR range for the different code rates. As you increase the code rate, you will need a higher SNR to achieve the same BER. This is because for higher rates, the redundancy is lower, and therefore the error correction capability is worse.
Also, about the LDPC code working better than turbo; this depends on the constructed codes. There are many LDPC codes and many turbo codes. You have to be specific about it.