Joining line segments to make tree
Disclaimer: the proof is quite technical. OTOH, I don't see a comfortable way to do this, because the initial set of segments can be as crazy as possible, even if none of them intersects.

Let's prove that we can make a tree not only from the set of disjoint segments, but also from the set of disjoint trees. So, the initial statement will be just a special case of it when all trees are segments.

The new statement will be proved by downward induction on the number of trees. When we have only one tree, we are done. To make an induction step, it's enough to connect two trees without intersecting or touching other trees.

Define distance between different trees $S$ and $T$ as $d(S, T) = min_{s\in P(S), t\in P(T)}d(s, t)$, where $P(X)$ is a set of all points belonging to tree $X$ (not necessarily vertices), $d(s, t)$ is a usual Euclidean distance.

Then take $(S, T) = argmin_{R, W \hbox{ are trees}, R \ne W} d(R, W)$. Let $d_0 = d(S,T)$. Also define $s$ and $t$ as the points which deliver us the minimum distance.

WLOG $s$ is a vertex. This statement requires some geometrical analysis. The most complicated case is when $s$ and $t$ lie strictly inside some segments. But if so, these segments must be parallel to each other, otherwise we can draw a height from some point to the opposite segment and get a distance smaller than $d_0$. And if they are parallel, the segment $st$ is perpendicular to them both, and we can simply move it to the one of the ends of the segments, so one of points actually becomes a vertex.

First, prove that the segment $st$ doesn't intersect or touch other existing segments. We do it by contradiction. If such segment exists, set the intersection point to $u$. It lies strictly inside $st$, because the tree set is disjoint and not self-intersecting. There is a tree $U$ such that $u\in U$. But either $U \ne T$ or $U \ne S$, thus $d(U, T)$ or $d(U, S)$ is well-defined and is smaller than $d(s, t) = d_0$. Contradiction.

Second, if $t$ is already a vertex, we are done, because we can draw a new segment connecting vertices $s$ and $t$. Otherwise define the segment which $t$ belongs to as $K$.

Third, let's continuously move $t$ on $K$ to one of the ends of $K$. If we reach the end without $st$ touching any other points, we are done. If not, assume that we got a segment $st'$ for $t'\in T$, and also $st'$ contains some other vertex $v \in V$. If there are more than one such vertex, take closest to $s$.

Let's look what happens if $V \ne T$. Geometry says that $st$ is perpendicular to $K$. So, if we draw a height from $v$ to $K$, we get a segment shorter than $st$, and it will deliver a distance from $V$ to $T$ smaller than $d_0$.

And if $V = T$, we can just forget about $t$ and connect $S$ and $T$ using segment $sv$.