I would not expect the definition of a position (so one row in the the position table, which I would rename to simply tPosition) to include any date/time data. A position is an abstract idea of a thing, and that thing exists apart from any instance of it, like when and where it occurs. Your position table is like a course catalog at a school, and the list of courses offered by the school exists completely separately from WHEN and WHERE those courses will be offered as classes. See what I mean? A school might offer a course, but not this semester, so the course must be able to exist in the catalog independent of when and where you will create an "instance" of it. Likewise, you need to have a definition of a position that is completely agnostic about StartShift and EndShift.
Now, if you have shifts, where is the shift table? A shift is a thing, but it is not the same as someone actually showing up to work. The shift is an abstract idea that you might select from a list of shifts, and in this sense it is it's own thing, so you might need a shift table, "tShift" or "tblShift"
What is a user? In my mind this is a user of the software. Is that so, or is this a Volunteer? If the latter, rename the table to tVolunteer, or tblVolunteer.
Then, what is the purpose of this system? Are you tracking actual times that people show up and do things? Is that what a VolunteerAssignment is? You need to describe, and this is not clear to me from your data, what you are keeping track of here. Are these actual instances of people showing up somewhere to do things? If so, do you track the time they actually show up and the time they actually leave, and notice how that is different from a shift?
Is this making sense? But mainly, you need to describe, without jargon or technical language, what this system is for. What is your purpose? Notice how different the system will need to be if you are just planning a schedule, versus keeping track of actual hours worked for managing payroll or some other reckoning of actual time spent, vs proposed time spent. That definition is not clear to me from your data or your descriptions.
Also, this system needs a lot of work. Not sure of your time frame, but there are a lot of changes that need to occur, and since your tables are not very well developed, therefore I predict that your forms and queries will need to go thru significant changes too. I would stop all development on forms and queries until we have worked out the data model, the tables.
hth
Mark