Why should small o notation has to satisfy the equation for all values of the constant Big-O of a function i.e. f(n) = O(g(n)) is such that both c and $\textbf{n}_0$ can be assigned values depending upon the function f(n). If such is the case for Big-O, then why for small-o, the following condition exists:

f(n) = o(g(n)) means for all c &gt; 0 there exists some $\text{n}_0$ &gt; 0 such that
0 ≤ f(n) &lt; cg(n) for all n ≥ $\text{n}_0$. The value of $\text{n}_0$ must not depend on n,
but may depend on c.

But for the conditions,

for all c &gt; 0
$\text{n}_0$ may depend on c

we can simply select the value of $\text{n}_0$, based on the value of c,  so that the equation is satisfied. So why should it satisfy for all values of c ?
Consider this also (more?) common definition:

$\qquad\displaystyle f \in o(g) \quad\mathbin{:\!\!\iff}\quad \lim_{n \to \infty} \frac{f(n)}{g(n)} = 0$.

Do you see now why we need to get below all factors $c$ in your definition? If not, we would have $f \in \Omega(g)$.