Any decompiler/debugger can convert machine program written in C/C++ to Assembly, but that Assembly is really hard to read, and corresponds to each particular instruction in machine language, not to a C/C++ instruction.
So my question: is there a decompiler, that decomplies the C source code to Assembly, not to machine language, and then Assembly?

That is because HLL instructions rarely convert to ONE mnemonic. It is only hard to read because you don't understand Assembly well.