I'm going to speak to the way "user" is supposed to be used, which unfortunately there are some versions where the functionality was changed and later reverted back.
User is an alias for the actual user session and when evaluating policy will only resolve to the user that the policy is being evaluated against. Access lists in AOS are stateful/reflexive, the session is always tracked so that return traffic can be allowed.
Any is just that, an alias for everything.
The difference between the two is that User is required to evaluate to the session/user/ip that the policy is evaluating to allow traffic to. Any allows for traffic to targets that aren't valid within the user table.
There's some additional considerations required when using role-to-role policies that I'll not get into here to hopefully avoid confusion.
So for your examples, if the intention is to allow a known user of the system to access resources on the 10.0.0.0/8 network the usage is just:
user network 10.0.0.0 255.0.0.0 any permit
------------------------------
Carson Hulcher, ACEX#110
------------------------------