With that out of the way, here's a proof, which invokes separability only to establish countability of $\mathcal G$:
To see this, observe that the first condition implies $$\chi_A\leq \Sigma_{B\in\mathcal G}\chi_B\text{,}$$$$\chi_A\leq \sum_{B\in\mathcal G}\chi_B\text{,}$$
while on the other hand, the second condition implies that for any $x\in\bigcup \mathcal G$, $\{B\in\mathcal G \mid x\in B\}$ is a Besicovitch family, and so has cardinality at most $K$, proving that $$\Sigma_{B\in\mathcal G}\chi_B\leq K\text{.}$$$$\sum_{B\in\mathcal G}\chi_B\leq K\text{.}$$
$$\mathcal G_B =
\begin{cases}
\bigcup_{B'\prec B} \mathcal G_{B'} & \text{if } c(B)\in \bigcup_{B'\prec B} \mathcal G_{B'}\text{,}\\
\bigcup_{B'\prec B} \mathcal G_{B'} \cup \{B\} & \text{otherwise.}
\end{cases}
$$\begin{equation}
\mathcal G_B =
\begin{cases}
\displaystyle\bigcup_{B'\prec B} \mathcal G_{B'} & \text{if } c(B)\in \displaystyle\bigcup\left(\displaystyle\bigcup_{B'\prec B} \mathcal G_{B'}\right)\text{,}\\
\left(\displaystyle\bigcup_{B'\prec B} \mathcal G_{B'}\right) \cup \{B\} & \text{otherwise.}
\end{cases}
\end{equation}