Our business is structured differently than a cleaning business, so we can get by when someone is late by letting others pick up the slack. Its not fair to the other employees that have to do that though, so the issue of fairness to them has to be considered as well.
One thing I can share:
If you permit it without consequences, it will get repeated. If you let it get repeated without consequences, it will no longer be you being an understanding boss, it will become what he believes is all that is expected of him.
Once that happens, you will never be able to get him to show up on time without causing him to become offended and resent YOU for this.
I know that might seem odd, but the things we grudgingly tolerate, if let go long enough, will become their "inalienable right" over time.