How can I prove the languages of incompressible words is undecidable? I have hard time understanding the proof by contradiction for the claim "$L=\{x : K(x) \ge |x| \}$" is undecidable ".

The proof is as follows : 


  M' = " On input $n$ 
  
  
  Enumerate over all $n$-bit strings $x$ in lexicographical order
  Simulate M on each $x$, where $M$ is the Turing machine that decides $L$.
  Output first $x$ which $M$ accepts.
  "
  
  
  Since TM $M'$ produced incompressible using only $O(\log n)$ to specify $n$, we 
  can compress incompressible strings which is a contradiction.


I understood the $M'$ construction. However, I do not understand where exactly is the contradiction happening? According to me, $M'$ outputs $x$ which is in-compressible(ensured by TM $M$) but how does it is also compressible at same time?
Consider the word $w_n$ that is the output of $M'$ given input $n$. 

Note that description of $w_n$ is the description of $M'$, whose length is some constant $c$, plus the description of $n$, whose length is $O(\log n)$ since we can express $n$ in the binary representation. So $K(w_n)\le c + O(\log n)$. If $n$ is large enough, we get
$$K(w_n)\lt n = |w_n|.$$

That is a contradiction since, as you have noted, $w_n$ should be incompressible.