Restrictions on laws
The "conditions" on a law are simply properties which, if they are true, imply the truth of the law. Sometimes, we can prove that the conditions must be true in order for the law to hold, in other words that if the conditions fail, then the conclusion (the law) also fails. But that is not always true.
Let's take your law about logarithms, for example:
$$\log_{a}(b)=c \implies a^c=b.$$
The base of a logarithm can never be zero, but if $a>0$, $b>0$ and $a \ne 1$, then the rule holds. In other words, if $a,b,c$ are numbers which satisfy the left hand side, then they also satisfy the right hand side.
Well what if $a = 1$? Well, in that case, the rule does not apply. According to the law, if you find numbers $b,c$ such that $\log_1(b) = c$, then maybe $1^b = c$, and maybe it doesn't. The law doesn't say one way or the other. In this case we can say something even stronger: You will never find numbers $b,c$ such that $\log_1(b) =c$, because there is no such thing as $\log_1$. So the rule would not be helpful in that case anyway.
But, you point out, clearly if $a=c=1$, then the right hand side is satisfied if $b=1$. This is true. But it is not true as a consequence of the law. It's just true. You didn't use the law to work it out, you just worked it out anyway.
The function $\log_a$ is defined when (and only when) $a\in(0,\infty)\setminus\{1\}$; its domain is $(0,\infty)$. So, asserting that$$\log_ab=c\implies a^c=b$$only makes sense if $a,b\in(0,\infty)$ and $a\ne1$, sense the LHS only makes sense in that case. But, yes, the RHS makes sense in other situations, and there is nothing wrong with that. In particular, the RHS makes sense in the case in which $a=c=1$, yes.
On the other hand, if we want to work with $x^y$ where both $x$ and $y$ can be real numbers, its natural definition is $\exp(y\log x)$, which makes sense only if $x>0$ (but there is no restriction on $y$). But, yes, this definition will not let us work with $0^y$. However, if we define, when $x\geqslant0$, $m,n\in\Bbb N$, $x^{m/n}$ as $\sqrt[n]{x^m}$, then this definition makes sense. And with it we always have $0^q=0$, when $q\in\Bbb Q_+$. It turns out that, with these definition, we still have $x^y=\exp(y\log x)$ when $x>0$. So, these two definitions agree when they can be applied to the same numbers. And it makes natural to assert that $0^y=0$ when $y>0$.
So, take into account exactly which definitions you are using.