Yes, most of this could be done natively with Airtable's built-in tools, but it would take many hours to setup.
Were you looking for an Airtable consultant to help you with this? If you have a budget for your project and you’d like to hire an expert Airtable consultant to help you create this, please feel free to contact me through my website: Airtable consulting — ScottWorld
I threw something together here that should help get you started
You've got a "Volunteers" table where each record represents a volunteer:

A "Logging" table to log how many hours a volunteer did, and a formula field to calculate what that is in points:

And a "Redemptions" table to set which person redeemed what type of ticket, plus a formula field to represent how many points that is:

And all of that info gets fed back into the "Volunteer" table via the rollup fields you can see in the original screenshot.
(You can duplicate the base to look at the formula fields and rollup field formulas)
It gets trickier after this because you mentioned wanting to let them request their redemption, but Airtable forms don't have a way for you to easily restrict an option based on data in their base, i.e., we can't stop them from selecting "Premium" even if they don't have enough points for it.
You could look for a third party form solution to help with this, or you could allow users to submit requests for redemptions that you then approve / reject manually perhaps?
I threw something together here that should help get you started
You've got a "Volunteers" table where each record represents a volunteer:

A "Logging" table to log how many hours a volunteer did, and a formula field to calculate what that is in points:

And a "Redemptions" table to set which person redeemed what type of ticket, plus a formula field to represent how many points that is:

And all of that info gets fed back into the "Volunteer" table via the rollup fields you can see in the original screenshot.
(You can duplicate the base to look at the formula fields and rollup field formulas)
It gets trickier after this because you mentioned wanting to let them request their redemption, but Airtable forms don't have a way for you to easily restrict an option based on data in their base, i.e., we can't stop them from selecting "Premium" even if they don't have enough points for it.
You could look for a third party form solution to help with this, or you could allow users to submit requests for redemptions that you then approve / reject manually perhaps?
This is fantastic! With a few modifications this is exactly what we were hoping for!
This is fantastic! With a few modifications this is exactly what we were hoping for!
Glad I could help!