I have my access token session set to expire every 24 hours, but if someone uses that token (say through a rest API call) at some point, does it last for another 24 hours or does the session not restart?
"Access Tokens", as well as "SOAP Session Identifiers" ("sid" for short, in most cases) are all treated the same. They are sessions that have an expiration date. You can see your sessions in Setup > Security Controls > Session Management.
Any use of a session, such as running a query, updating a record, or even getting the server time stamp will result in the session being updated. This behavior is the same for all types of sessions, no matter where they originated from.
In other words, a 24-hour expiry means that the user must do something with the token at least once every 24 hours. Any time the user does something, the timer is reset.
You can verify this behavior by checking out the Session Management screen.