As for the derivation, the setup goes as follows. Suppose we have a population of size $N$, with mean $\mu$ and variance $\sigma^2$, where each element can assume values $v_k$ for $k = 1, 2, \dots, m$. Let $n_k$ be the number of times that the value $v_k$ occurs in the population, such that the probability that we draw the value $v_k$ at random from the population is:
$$P(X=v_k) = \frac{n_k}{N}$$
We pick a sample of size $n$, without replacement, and we estimate the global mean $\mu$ with the estimator $\overline{X}=\frac{\sum_{i=1}^n X_i}{n}$.
We are going to find the formula of the finite population correction factor by looking at the variance of the estimator:
$$ \tag{1} \label{variance}
\mathrm{Var}(\overline{X}) = \mathrm{Var} \left( \frac{\sum_{i=1}^n X_i}{n} \right) = \frac{1}{n^2} \sum_{i=1}^n\sum_{j=1}^n \mathrm{Cov}(X_i, X_j)
$$
Notice that if we were doing sampling with replacement, the variables $X_i$ would be completely independent of each other, meaning that there would be no covariance between them:
$$ \mathrm{Cov}(X_i, X_j) = 0, \quad i \ne j $$
This would imply that we could discard all terms where $i \ne j$. Also, when $i$ and $j$ are equal the covariance is just the variance:
$$\mathrm{Cov}(X_i, X_i) = \mathrm{Var}(X_i) = \sigma^2$$
Which would mean we could work the variance like so:
\begin{align*}
\frac{1}{n^2} \sum_{i=1}^n\sum_{j=1}^n \mathrm{Cov}(X_i, X_j) &= \frac{1}{n^2} \sum_{i=1}^n \mathrm{Var}(X_i) \\
&= \frac{1}{n^2} \sum_{i=1}^n \sigma^2 \\
&= \frac{n \sigma^2}{n^2} \\
\mathrm{Var}(\overline{X}) &= \frac{\sigma^2}{n}
\end{align*}
This is the variance for sampling with replacement (or with an infinite population).
However, since we are doing sampling without replacement, the random variables $X_i$ aren't independent (considering we can't get a given element more than once, the probability that we get a certain value for a given $X_i$ depends on the values of the remaining ones). We treat the summation above by splitting the indices where $i=j$ and where $i\ne j$, similarly like we did the covariance for sampling with replacement:
\begin{align*}
\frac{1}{n^2} \sum_{i=1}^n\sum_{j=1}^n \mathrm{Cov}(X_i, X_j) &= \frac{1}{n^2} \left( \sum_{i=1}^n\sum_{j=i} \mathrm{Cov}(X_i, X_j) + \sum_{i=1}^n\sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \right) \\
&= \frac{1}{n^2} \left( \sum_{i=1}^n \mathrm{Var}(X_i) + \sum_{i=1}^n\sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \right) \\
&= \frac{1}{n^2} \left( \sum_{i=1}^n \sigma^2 + \sum_{i=1}^n\sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \right) \\
&= \frac{1}{n^2} \left( n \sigma^2 + \sum_{i=1}^n\sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \right) \\
&= \frac{\sigma^2}{n} + \frac{1}{n^2} \sum_{i=1}^n\sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \tag{2} \label{covariance}
\end{align*}
Straightaway we must find the covariance between $X_i$ and $X_j$ when $i \ne j$. Recall the definition of covariance:
$$ \mathrm{Cov} (X_i, X_j) = \mathrm{E}[X_i X_j] - \mathrm{E}[X_i]\mathrm{E}[X_j] $$
Since $\mathrm{E}[X_i] = \mathrm{E}[X_j] = \mu$, this yields:
$$\tag{3} \label{covariance expectation}
\mathrm{Cov} (X_i, X_j) = \mathrm{E}[X_i X_j] - \mu^2 $$
Immediately we proceed to calculate $\mathrm{E}[X_i X_j]$, which is defined as:
$$ \tag{4} \label{covariance expectation summation}
\mathrm{E}[X_i X_j] = \sum_{k=1}^m \sum_{l=1}^m v_k v_l \ P(X_i=v_k , X_j=v_l) $$
The tricky part is calculating the probability above, because this probability changes depending on whether $k=l$ or not. The whole thing becomes clearer using Bayes' theorem:
\begin{align*}
P(X_i=v_k, X_j=v_l) &= P(X_i = v_k)P(X_j=v_l | X_i=v_k)\end{align*}
Consider the case where $k=l$: this is equivalent to drawing the same value $v_k$ twice. The probability of drawing $v_k$ is $P(X_i=v_k)=\frac{n_k}{N}$, and doing so again (given that we already drew $v_k$) is:
$$P(X_j=v_k | X_i=v_k) = \frac{n_k-1}{N-1}$$
On the other hand, considering the case where $k \ne l$, if we draw $v_l$ given that we already drew $v_k$, we find that the number of occurences of $v_l$ in the population is unchanged ($n_l$). However, the total size of our population is now $N-1$. Hence:
$$P(X_j=v_l | X_i=v_k) = \frac{n_l}{N-1}, \quad k \ne l$$
Therefore, our probability is:
$$P(X_i=v_k, X_j=v_l) =
\begin{cases}
\dfrac{n_k (n_k - 1)}{N(N - 1)}, & \quad k=l\\
\dfrac{n_k n_l}{N(N-1)}, & \quad k \ne l
\end{cases}
$$
Because of this, we must split the summation at $\eqref{covariance expectation summation}$ on the indices where $k=l$ and $k \ne l$, as such:
\begin{align*}
\mathrm{E}[X_i X_j] &= \sum_{k=1}^m \sum_{l=1}^m v_k v_l \ P(X_i=v_k, X_j=v_l) \\
&= \sum_{k=1}^m \sum_{k=l} v_k^2 P(X_i=v_k, X_j=v_k) + \sum_{k=1}^m \sum_{k \ne l} v_k v_l P(X_i=v_k, X_j=v_l) \\
&= \sum_{k=1}^m v_k^2 \frac{n_k (n_k - 1)}{N(N-1)} + \sum_{k=1}^m \sum_{k \ne l} v_k v_l \frac{n_k n_l}{N(N-1)}
\end{align*}
Now we can pull the $N(N-1)$ factor out and do some manipulation on these sums:
\begin{align*}
\mathrm{E}[X_iX_j] &= \frac{1}{N(N-1)} \left( \sum_{k=1}^m v_k^2 n_k(n_k -1) + \sum_{k=1}^m \sum_{k \ne l} v_k n_k v_l n_l \right) \\
&= \frac{1}{N(N-1)} \left( \sum_{k=1}^m v_k^2 n_k^2 - \sum_{k=1}^m v_k^2 n_k + \sum_{k=1}^m \sum_{k \ne l} v_k n_k v_l n_l \right) \\
&= \frac{1}{N(N-1)} \left( \sum_{k=1}^m v_k^2 n_k^2 + \sum_{k=1}^m \sum_{k \ne l} v_k n_k v_l n_l - \sum_{k=1}^m v_k^2 n_k \right) \tag{5} \label{expanded summation}
\end{align*}
We must realize that there is a way to simplify this expression, by recalling that:
\begin{align*}
\left( \sum_i a_i \right)^2 &= \sum_i \sum_j a_i a_j \\
&= \sum_i a_i^2 + \sum_i \sum_{j \ne i} a_i a_j
\end{align*}
That is, if we square a sum, we can write the result splitting its indices. This means that the apparently intractable sum above is just:
$$ \sum_{k=1}^m v_k^2 n_k^2 + \sum_{k=1}^m \sum_{k \ne l} v_k n_k v_l n_l = \left( \sum_{k=1}^m v_k n_k \right)^2 $$
So we simplify $\eqref{expanded summation}$ to:
$$ \tag{6} \label{simplified expectation}
\mathrm{E}[X_iX_j] = \frac{1}{N(N-1)} \left( \left( \sum_{k=1}^m v_k n_k \right)^2 - \sum_{k=1}^m v_k^2 n_k \right) $$
We're almost done. Our task now is to represent the sums above in terms of known constants. Let us remember that, in the case where we have repeating values in our domain, the expected value $E[\cdot]$ can be written as:
$$ \mathrm{E}[X_i] = \frac{1}{N} \sum_{k=1}^m v_k n_k = \mu $$
The $n_k$ term accounts for the fact that we have more than one ocurrence of the value $v_k$. From this, it follows that:
\begin{gather*}
\sum_{k=1}^m v_k n_k = N \mu \\
\left( \sum_{k=1}^m v_k n_k \right)^2 = N^2 \mu^2 \tag{6.1} \label{square of sum}
\end{gather*}
Likewise, the expected value of the square of the variable can be written as:
$$ \mathrm{E}[X_i^2] = \frac{1}{N} \sum_{k=1}^m v_k^2 n_k $$
From the definition of variance this simplifies to another expression:
\begin{align*}
\mathrm{Var}(X_i) &= \mathrm{E}[X_i^2] - \mathrm{E}^2[X_i] \\
\sigma^2 &= \mathrm{E}[X_i^2] - \mu^2 \\
\mathrm{E}[X_i^2] &= \mu^2 + \sigma^2
\end{align*}
And it follows immediately that:
\begin{gather*} \sum_{k=1}^m v_k^2 n_k = N \ \mathrm{E}[X_i^2] \\
\sum_{k=1}^m v_k^2 n_k = N(\mu^2 + \sigma^2) \tag{6.2} \label{sum of squares}
\end{gather*}
Substituting $\eqref{square of sum}$ and $\eqref{sum of squares}$ back into $\eqref{simplified expectation}$, we get:
\begin{align*}
\mathrm{E}[X_iX_j] &= \frac{1}{N(N-1)} \left( \left( \sum_{k=1}^m v_k n_k \right)^2 - \sum_{k=1}^m v_k^2 n_k \right) \\
&= \frac{1}{N(N-1)} \left( N^2\mu^2 - N(\mu^2 + \sigma^2) \right) \\
&= \frac{N^2\mu^2 - N\mu^2 - N\sigma^2}{N(N-1)} \\
&= \frac{\mu^2N(N-1) - N\sigma^2}{N(N-1)} \\
&= \mu^2 - \frac{\sigma^2}{N-1}
\end{align*}
We substitute back yet again into $\eqref{covariance expectation}$ to find our covariance:
\begin{align*}
\mathrm{Cov}(X_i, X_j) &= \mathrm{E}[X_i X_j] - \mu^2 \\
&= \left( \mu^2 - \frac{\sigma^2}{N-1} \right) - \mu^2 \\
&= - \frac{\sigma^2}{N-1}
\end{align*}
At last:
$$ \tag{7} \label{covariance for i not j}
\boxed{\mathrm{Cov}(X_i, X_j) = - \dfrac{\sigma^2}{N-1}}$$
Lastly, we substitute $\eqref{covariance for i not j}$ into $\eqref{covariance}$ to find the variance of the estimator $\overline{X}$:
\begin{align*}
\mathrm{Var}(\overline{X}) &= \frac{1}{n^2} \left( n\sigma^2 + \sum_{i=1}^n \sum_{j \ne i} \mathrm{Cov}(X_i, X_j) \right) \\
&= \frac{1}{n^2} \left( n\sigma^2 - \sum_{i=1}^n \sum_{j \ne i} \frac{\sigma^2}{N-1} \right) \\
&= \frac{1}{n^2} \left( n\sigma^2 - \frac{n(n-1)\sigma^2}{N-1} \right) \\
&= \frac{\sigma^2}{n} - \frac{(n-1)\sigma^2}{(N-1)n}
\end{align*}
Wraping everything up, if we pull out the common $\frac{\sigma^2}{n}$ term, we find our desired correction factor for the variance:
$$ \boxed{\mathrm{Var}(\overline{X}) = \frac{\sigma^2}{n} \left( 1 - \frac{n-1}{N-1} \right)}$$
$$ \boxed{ \mathrm{FCF} = 1 - \frac{n-1}{N-1} } $$
So there it is. Also, $1 - \frac{n-1}{N-1} = \frac{N-n}{N-1}$, just in case anyone missed it.