How these two Turing machine problems are different in terms of their decidability? I was referring to slide 4 of this, which states following:


  It is decidable whether a given CFG accepts a non-empty language?


Then I was reading Intro to Automata theory book by Ullman et al. It states following:


  Let $L_{ne}$ be the language of all codes for Turing machines that accept atleast one input string. 
  $$L_{ne}=\{M | L(M)\neq \phi\}$$
  $L_{ne}$ is not recursive.


Knowing that "not recursive" is same as "undecidable" and the functionality of Turing machine is expressed as a CFG, I feel that the problems in above two statements sound same and the statements contradicts each other in terms of their decidability claims. Thus, one of them must be wrong. However I also feel that I still miss something basic and both of them are non contradictory and equally true. But then what I miss?
The thing you missed is that Turing Machines are strictly more expressive than Context-Free Grammars. CFGs are as expressive as push-down automata (PDA, i.e. automata with one stack).

E.g. the language $L = \{a^nb^nc^n | n &gt; 0\}$ cannot be expressed by CFG (or decided by a PDA), but can be decided by a Turing Machine.

So, for CFG, the emptiness problem is decidable, but somewhere on the way to Turing completeness, this property is lost.