This is a modification of the construction described in the linked answer. The idea is to not take every ball $B(q_n,2^{-(n+1)})$ but to select them in order to avoid isolated points of the complement. To do so, we will take one ball at a time, choosing the radius small enough to our need.
So, enumerate the rationals as $(q_n)_{n\geq 1}$, and let us define inductively on a parameter $k\in\mathbb{N}$ which balls $B_k$ we will take.
[$k=1$] The first step is to take $B_1=B(q_1,\frac14)$.
[$k\to k+1$] Now let $C_k=\bigcup_{i=1}^k B_i$ be the union of all the balls taken up to step $k$. Consider the smallest index $n\in\mathbb N$ such that $q_{n}\in \overline{ C_k}^c$, call it $n(k)$, and take the ball $B_{k+1}=B(q_{n(k)},r_k)$ where
$$r_k=\min\left\{\frac {1}{2^{k+1}}, \frac12 dist(q_{n(k)}, \overline{C_k})\right\}.$$
The algorithm is saying: at each step consider the next rational in the enumeration that's not in the closure of the balls already taken, and take the ball centered there of radius $1/2^{k+1}$, unless it falls too close to the balls already taken; in that case, choose a smaller radius. Check that this is all well defined, and let $B=\bigcup_{k=1}^\infty B_k$, and $F=[0,1]\backslash B$.
Now the key observation is that the two extreme points of every ball $B_k$ are contained in $F$ (why?). For every point $q\in F$ there are balls among $B_k$ arbitrarily close to it, and therefore their extremes will have $q$ as a limit. The only way this could not work is if $q$ were itself an extreme of two balls simultanesously. But this is impossible, since the last ball to be chosen between the two could not lie so close to the other.