I get why you're frustrated. In my experience, 90% of the time wording like yours works fine. But, there are always a few people who interpret it differently--not because they're rude or anything, just because their brain works differently/experience has taught them differently. When setting appointments I've learned to explicitly state, "Let me know by 5pm today if this time works for you, otherwise the slot may be given to someone else." In other words, set a deadline for the response.
I've also learned to try avoiding the mention of specific times, because some people will just assume they can show up at one of them without confirming with me. Also, when there's a tight turnaround--talking on Tuesday for a Wednesday appointment--I try to be a little more flexible. At 5pm when I haven't heard from someone, I think, "Okay, which is more likely: That the person is completely blowing off an interview with us, or that they've been busy with class/work and haven't seen my email yet?" So sometimes I glance through my work email at home in the evening, and usually I check it first thing in the morning when I come to work. I realize that's not your current setup, but if you often have tight turnaround times when scheduling appointments, you might want to consider checking your email/voicemail outside of work hours, or first thing when you come in, etc..
With Lisa knowing she potentially had a student coming in at either 8:30 or 9 the next morning, I would have expected her to be at work then. Of course I can't control what Lisa does, but in my experience, it wouldn't be unusual for the student to get back to me later in the evening and accept one of those times, or just show up at one of those times, so in talking to her I would encourage her to be at work by then (to the extent it was appropriate for me to share my opinion, of course!).