Why would this method of discrete logarithm finding not work?
The flaw in your reasoning lies in your assumption that finding the discrete log of $f$ is any easier than finding the discrete log of $g$.  It just isn't.  That assumption is not correct.  And if you try to recurse and apply your procedure to $f$, you'll recurse for a very long time, and your algorithm will take exponentially long.

Let me summarize your algorithm: to find the discrete log of $g$, you suggest we  pick some specific power of $b$, say $e \equiv b^3 \pmod p$, then compute $f \equiv g/e \equiv g b^{-3} \pmod p$, then somehow magically find the discrete log of $f$.  The problem with this algorithm is that "magic" doesn't exist.  If you want to find the discrete log of $f$, that's every bit as hard as finding the discrete log of $g$.  So the "factoring" hasn't helped you one bit.

I imagine you're going to be tempted to respond "but I just recurse, and apply my method recursively to $f$!", so let me proactively explain why that ain't gonna work: first, you have not identified any base case, so your recursion never terminates; and second, if you identify a reasonable base case (e.g., if $g$ is a perfect power of $b$, stop immediately), you'll find that you will need to recurse an exponential number of times, so the running time of your algorithm will be worse than brute-force search.

There is no known reduction that proves that the discrete log is as easy as factoring.  Lots of people have tried to find one, and failed.