"I should be home by midnight" can mean either of the two sentences you wrote. You can call someone and say "I should be home by midnight" if they ask you when you will home. This means #1.
If is getting late, say 11:30pm, and a friend wants to go to a bar, you might have to say no, and you could say "I should be home before midnight" with meaning #2. But we would normally say either sentence your #2 or, even more common, "I need to be home before midnight."
In other words, meaning #1 is probably used much more often than meaning #2 for your original sentence.
Also, it is common to say: I should be home BY midnight. I will probably be home BY midnight. I need to be home BY midnight. I had batter be home BY midnight. BY here means "not after midnight".