@Sherri14 , it sure is annoying, and inconsiderate of the guests, no doubt. I feel for you! But in the grand scheme of things, I think you are hurting yourself more than helping yourself with this extra fee of $100. It just sounds a bit tacky, and as a guest, not that I even think of arriving late, I just don't like it, and thus you would lose my booking because of this. occasionally there will always be some minor inconveniences like late arrival, part of doing business, just put it behind you,,or find alternative solutions like lock box. the more guests you allow, the more these kind of problems will surface.
Also, how are you going to collect it? I doubt Airbnb will help you getting it out of your security deposit, which is never collected upfront, Airbnb just puts a hold on it and only in case they side with a host in a dispute will they collect it for you, not an easy process. Same for your announcement of not returning the $300 damage deposit if pets were present. Again, is that an extra deposit you plan on charging at check-in, or are you considering thatbthis fee would also come out of the security deposit via Airbnb? Consider that things you cannot enforce have no true bite.
You can help yourself a bit by making your check in times clearer: you say it's 3 to 8, but then add the fee about $100 extra after 9:30 pm. sounds like you are figuring in a grace period. So really, people will read it as 9:30'pm, not 8 pm. Might be better to just leave it at 3-8. sounds more defined.
Good luck, and happy hosting!