If we have a set $\mathcal L$ of lines in $\mathbb R^n$ such that $|\mathcal L|=\mathfrak c$, we can get the set $M$ with the desired properties using transfinite induction.
- Take any well-ordering of the set of lines $\mathcal L=\{l_\alpha; \alpha<\mathfrak c\}$ (such that $\alpha\ne\beta$ implies $l_\alpha\ne l_\beta$.)
- By transfinite induction we define $M_\alpha$ for $\alpha<\mathfrak c$ which is either singleton or empty set. If $l_\alpha$ intersects $\bigcup\limits_{\beta<\alpha} M_\beta$, we put $M_\alpha=\emptyset$. (We add nothing if $l_\alpha$ already contains some points.) Otherwise we put $M_\alpha=\{m_\alpha\}$ where $m_\alpha \in l_\alpha \setminus \bigcup\limits_{\beta<\alpha} l_\beta$. (This set is non-empty, since $l_\alpha$ has cardinality $\mathfrak c$ and the intersection $l_\alpha \cap \bigcup\limits_{\beta<\alpha} l_\beta$ has cardinality smaller than $\mathfrak c$; each of the lines $l_\beta$ can intersect $l_\alpha$ at most in one point.)
- Now simply put $M=\bigcup_{\alpha<\mathfrak c} M_\alpha$.
The set $M$ has the desired properties. Clearly, $M$ intersects each $l_\alpha$. Moreover, if $m\in M$ and $m=m_\alpha$, then $m$ is the only point on the line $l_\alpha$. (If $m$ was added in the $\alpha$'s step, then $l_\alpha$ does not contain any of the points from $\bigcup_{\beta<\alpha} M_\beta$, i.e., the points added in the preceding steps. And the construction is done in such way that no new point on $l_\alpha$ can be added in the steps after $\alpha$.)
If $|\mathcal L|<\mathfrak c$ then we can simply choose one point from each set $l \setminus \bigcup\limits_{k\in \mathcal L} k$. This set is non-empty - it has cardinality $\mathfrak c$.