Understanding addition overflows when performing full, signed multiplication of two 64-bit numbers
Your explanations are a bit incorrect. What line 10 does is to add the high 64-bit word of $x_l y_l$ (%rdx after line 9) to $2^{64} (x_h y_l + x_l y_h)$. The low 64-bit word has been computed in line 9 and is in %rax.

Now, all the overflows that have been ignored will affect bit 128 only, i.e. the obtained result can differ from the correct result only by a multiple of $2^{128}$. But since one is interested in the result modulo $2^{128}$, such overflows do not matter.