My sprite won't rotate a full 360 spin, it will just revert back once it get passed at a certain degrees

I don’t get it. After it reaches a certain degree, the X rotation and Z rotation got a random 180 degree for some reason.

is this manually manipulating value in the Editor, or is this being done through blueprints/C++
if this is a manual manipulation then it is a cross between floating point approximations, converting between Euler Angles->Quaternions->Eular Angles, and Euler Angle representations especially when rapidly changing the values in the Details Window.

in an attempt to prevent a concept called “Gimble Lock” where an axial rotation lays on top of another axis creating ambiguity with the sum total of rotations, Unreal actually does rotations in a matrix structure called a Quaternion, but to keep people from having to learn 4x4 matrix manipulations to do 3d rotations it presents it to the user as Euler Angles (the {Yaw, Pitch Roll} worked with in Editor and Blueprints).
the floating point approximation part is that computers even though they can do really complex math really quickly but have to do a bunch of tricks for decimal numbers (because computers are in base 2 not base 10) so there will be deviations or “approximations” (you can see this by putting a 0.0 into a float field clicking away and clicking back to find -0.000001 or the infinity more funny -0.0 and why 0.0 == 0.0 might not be true)

to get around this situation you can use the rotation gizmo in the Level editor window which when you select 1 axis will stop changes to the other axis. if you want a very specific rotation of something that is not axis aligned to start then change the Coordinate system perspective from world space to Local Space (it will align the gizmo to be relative to the current forward vector of the transform)