One of your "set time part to zero" methods sets the time in your time zone to zero. The other sets the time in GMT to zero. If your time zone isn't GMT then yes, they are not equal.
It seems like you already suspected time zone issues, so probably your next step would have been to ask "Just why are we setting the time part to zero in two different ways anyway?" So I'm asking that.
The best thing to do, if you're using
Java 8, is to get rid of the Calendar class and start using LocalDate objects (from the java.time package) when you want to work with dates and you don't want time zones to mess you up. If you aren't using Java 8 then you could use similar classes from the JodaTime package.
Or you could just use the code from lines 13-17 of isEqualToLowDate in all cases where you want to set the time part to zero.