How do I construct a NTM that accepts the language consisting of the coding of turing machines that halt on one input?
$L$ is semi-decidable (or, synonymously, recursively enumerable). This can be proven (arguably) more easily by using an NTM which non-deterministically picks an input $w \in \{ 0, 1 \}^\ast$, simulates $M$ on it for at most $|w|^3$ steps, and accepts if and only if $M$ does. The NTM accepts exactly the language $L$ because, if there is no accepting branch of the NTM, then there is also no input $w$ for which $M$ halts in at most $|w|^3$ steps. For a properly written proof, it should also be said the semi-decidability of $L$ follows from the equivalence of DTM and NTM acceptors (remember (semi-)decidability is defined in terms of DTMs, not NTMs!).

Because of the equivalence of DTM and NTM acceptors, the above reasoning indirectly gives you a DTM which accepts $L$. The explicit construction could be picking an enumeration of inputs (e.g., lexicographical order), simulating $M$ on each input $w$ for at most $|w|^3$ steps, and accepting if and only if $M$ does. (Having to argue about the enumeration of inputs might be perceived as "hard" by some, hence why proving with an NTM could be considered "easier".)

A warning, however: $L$ is not decidable. This is because its complement is $\{ \langle M \rangle \mid \forall w: \text{$M$ does not halt for $w$ in at most $|w|^3$ steps} \}$ and, thus, a variant of the complement of the halting problem, which is notorious for not being semi-decidable.