Why won't a Turing machine halt?
A TM s just a program. It does whatever you program it to do. If, for instance, you program it to perform the following:

while (true)
{ 
   do_nothing
}


, then it will never halt!

The language $L$ goes over all possible machines $M$, and therefore it must encounter some machines that don't halt, for instance, the one stated above. 

There is a deep difference between the reason the above machine doesn't halt (it is just programmed to do so), and the reason that any machine for $L$ will not halt–no machine for $L$ exists since that language is undecidable.

regarding your question about finding a more "natural" language that is undecidable, see Is there a “natural” undecidable language?. You may get some more intuition about undecidable languages here.