Is any language that can express its own compiler Turing-complete?
The informal statement is not true, as shown by the following programming language.  Any string of, say, ASCII characters is a valid program and the meaning of every program is, "Output a program that just outputs a copy of its input." Thus, every program in this language is a compiler for the language but the language is not Turing-complete.

I'm not sure if your "computability theory version" is equivalent but it is also not true. By Kleene's second recursion theorem, for any coding of Turing machines, there is a TM that accepts its own coding and rejects all others.1 This machine is a counterexample to the proposition.
More concretely, we can achieve the result by choosing a coding. For example, let every odd number code the machine&nbsp;$M$ defined by "If my input is odd, accept it; otherwise, reject" and let the number&nbsp;$2x$ code the machine coded by&nbsp;$x$ in your own favourite coding scheme for Turing machines. $\langle M\rangle$&nbsp;is in the language&nbsp;$L$ accepted by&nbsp;$M$ but $F_L$&nbsp;is not Turing complete.



1 Kleene's second recursion theorem says that, for any enumeration $(\phi_i)_{i\geq 0}$ of the partial recursive functions (i.e., for any coding of programs as integers), and any partial recursive function&nbsp;$Q(x,y)$, there is an integer&nbsp;$p$ such that $\phi_p$&nbsp;is the function that maps $y$ to $Q(p,y)$. So, in particular, let $Q$ be the function that accepts if $x=y$ and rejects otherwise. By the theorem, there is an integer&nbsp;$p$ that codes the program $\phi_p(y) = Q(p,y)$. That is, $\phi_p$ accepts its own coding&nbsp;$p$ and rejects all other inputs.