The problem here is that Beta and Gamma will almost never be 0. For example, if you are tilting your phone up, Gamma may be +90, but Beta may be +3. And Beta will "overpower" Gamma, because the event where you compare Beta>0 comes last. And the character will move to the right, instead of going up.
Basically, you need to determine which direction the phone is tilted the most.
Try setting "deadzone", ignore small numbers and only move the character when Beta/Gamma is smaller than -20 or greater than +20. You may need to experiment with these values.
(By the way, on my phone Gamma is left/right and Beta is up/down, not sure why, maybe because I'm testing in portrait mode)
Also, why did you add 8-direction? It may not work properly together with Bullet.