Unfortunately, you're competing with the noise of the marketplace - e.g., social media, streaming TV, gaming, etc. It's sad but true that getting their attention requires a level of uncommon seduction. For example, have a weekly theme for office hours:
* Week 1: 'Lineup' - sign up for office hours and if you can identify me in a lineup (from my kindergarten class photo) you'll get an extra point on the next test.
* Week 2: 'Whew' - at this week's office hours, you'll learn about the best excuse I ever gave to get out of a speeding ticket.
* Week 3: 'Never Again' - ... worst date I ever had.
* Week 4: 'Mmmmm' - ... best meal | restaurant | pizza | [whatever]
You get the idea. These work online or in person.
Make is kitchy. Make it unusual. Make it personal. Make it something they don't want to miss out on. They'll let their guard down and be more willing to engage with you.
Good luck and have some fun with it,