I also schedule interviews with undergrad students to work in our university office, and it can be hard to find logistical solutions that are fair and respectful to all parties.
When the schedule is still wide open and there's more time for communication (like the interviews aren't happening until next week), I usually start by saying, "We have openings Mon, Wed, and Fri afternoons next week. What would work best for you?" Then the student and I can go back and forth to set the interview time. Usually people don't respond with one time, but give me a range, like, "I'm free 3pm-5pm Mon and Wed, or 1pm-3pm Fri." Even if I'm in contact with multiple people it's fairly easy to give everyone a spot that works for them, because there's lots of open slots and also time for multiple emails.
As the time grows shorter--say, it's now interview week, on Tuesday--I tell the students who are just now being offered interviews (because they applied later) something like, "The only slots we have left are 2pm on Wed (tomorrow) or 3pm on Fri. Please get back to me ASAP to secure a time." With two slots left, I send the same email to two students (I don't overbook), and I feel like the wording gives them fair warning that it's first contact, first reserve on the spot. So if Bob gets back to me and wants 2pm on Wed, and then later Carl replies and also wants 2pm on Wed, I tell Carl, "Sorry, that spot has already been taken. Does 3pm on Fri work for you?" If it doesn't, then my boss has to decide if we want to make a special time to interview Carl, or just tell him we won't be able to work him in this round (meaning there's no chance he gets the job). Which stinks if you're Carl, because very likely the fact that he's unavailable during our remaining interview spot isn't his fault--he may have class or another job. But that's life, it doesn't always work out the way we wanted.