The slice sampler does not "sample from the log-density". It can, however, use the log density in the calculations to obtain a dependent sequence of observations from the density.
The basic idea of a slice sampler is in terms of the density itself, but for various reasons (computational accuracy, primarily) it's usually more convenient to work with the log-density.
As long as you use do everything in such a way as to be completely consistent with doing it in terms of the density, there's no problem whatever working with the log density.
The description for the univariate case in wikipedia here says:
- Given a sample $x$ we choose $y$ uniformly at random from the interval $[0, f(x)]$;
- given $y$ we choose $x$ uniformly at random from the set $f^{-1}[y, +\infty)$.
- The sample of $x$ is obtained by ignoring the $y$ values.
That first step can for example be replaced by sampling from a negative exponential distribution in $-\log y$ where the lower bound of the exponential is at $-\log(f(x))$; the rest of the algorithm (with the obvious change to accommodate the fact that we have a log scale $y$) proceeds much as before. The result is exactly as if we had accurately sampled according to the original algorithm, which is cast in terms of sampling uniformly under the density itself at $x$ ... but in practice the calculation on the log-scale does that job "better"- with less accuracy loss.
Neal explains the motivation for this quite clearly in the Annals paper you included a reference for (p712):
In practice, it is often safer to compute
$g(x)=\log(f(x))$ rather than $f(x)$ itself, in order to avoid possible problems with floating-point underflow. One can
then use the auxiliary variable
$z=\log(y)=g(x_0)−e$, where
$e$ is exponentially distributed with mean one, and define the slice by $S={x:z<g(x)}$.