An approach like yours can be made to work, but there is a completely different approach that is easier, if perhaps less natural.
Define a relation $\sim$ on $S$ as follows: for any $x,y\in S$,
$$x\sim y\text{ iff }[\min\{x,y\},\max\{x,y\}]\subseteq S\;,$$
i.e., $x\sim y$ if and only if the closed interval between $x$ and $y$ is contained in $S$. It’s not hard to show that $\sim$ is an equivalence relation on $S$. Let $\mathscr{C}$ be the set of $\sim$-equivalence classes; the members of $\mathscr{C}$ are certainly pairwise disjoint subsets of $S$ whose union is $S$, so we’ll be done if we can show that they are canonical sets and that $\mathscr{C}$ is finite.
Let $C\in\mathscr{C}$. $S$ is a bounded set, so $C$ is bounded, and we can let $a=\inf C$ and $b=\sup C$; now we need only show that $C=[a,b)$. Certainly $C\subseteq[a,b]$; I’ll show next that $(a,b)\subseteq C$. Suppose that $x\in(a,b)$; then $a<x$, so there is a $c_0\in C$ such that $a\le c_0<x$. Similarly, $x<b$, so there is a $c_1\in C$ such that $x<c_1\le b$. Then $c_0\sim c_1$, so $[c_0,c_1]\subseteq S$, and since $c_0<x$, it’s clear that $[c_0,x]\subseteq S$ as well. But then $x\sim c_0\in C$, so $x\in C$, and since $x\in(a,b)$ was arbitrary, it follows that $(a,b)\subseteq C$. Now we must show that $a\in C$ and $b\notin C$.
Suppose that $b\in C$. Then $b\in S$, so there is an $i\in\{1,\ldots,n\}$ such that $b\in I_i=[a_i,b_i)$. Then $b<b_i$, so choose any $x\in(b,b_i)$; $x\in S$, and $[b,x]\subseteq I_i\subseteq S$, so $b\sim x$, and therefore $x\in C$, contradicting the definition of $b$ as $\sup C$. This shows that $b\notin C$.
Now suppose that $a\notin C$; $a=\inf C$, so there is a strictly decreasing sequence $\langle x_k:k\in\Bbb Z^+\rangle$ in $C$ converging to $a$. Each of the points $x_k$ belongs to one of the sets $I_i$ with $i\in\{1,\ldots,n\}$, and there are only finitely many of these sets $I_i$, so there must be some $i\in\{1,\ldots,n\}$ such that $A=\{k\in\Bbb Z^+:x_k\in I_i\}$ is infinite. Now $\{x_k:k\in A\}\subseteq[a_i,b_i)$, so
$$a_i=\inf[a_i,b_i)\le\inf\{x_k:k\in A\}=a\;.$$
Pick any $k\in A$; then $[a,x_k]\subseteq[a_i,x_k]\subseteq S$, so $a\sim x_k\in C$, and therefore $a\in C$. This completes the proof that $C=[a,b)$ and hence that the partition of $S$ into $\sim$-equivalence classes is a partition of $S$ into canonical intervals.
Finally, it’s easy to check that for each $C\in\mathscr{C}$ there is an $i(C)\in\{1,\ldots,n\}$ such that $I_i\subseteq C$ and that the map $\mathscr{C}\to\{1,\ldots,n\}:C\mapsto i(C)$ is injective, so that $|\mathscr{C}|\le n$.
Best Answer
$[a,b) \cap [c,d)$ is empty if $b \le c$ (so equal to $[a.a)$ in $\mathcal{J}$ in that case), and if $b > c$ and $b <d$, the intersection is $[c,b)$, if $b > c$ and $b \ge d$, the intersection is $[c,d)$, all in $\mathcal{J}$.
$[0,1) \cup [2,3)$ is not in $\mathcal{J}$, obviously (it's not order convex). That one example suffices.