In Cohorts, why is the number of "users" not the same as "Day 0"? Shouldn't those numbers be equal because every user opens the app when they first install it?

Day 0 shows the number of users that opened your app on the first day itself after triggering the install event. The install event is different from the open event, where a user opens the app for the first time after the installation.

Branch gets to know about an installation only when the 'first open' happens, we then record that 'first open' as an install event.

You can treat install as first open and any other subsequent open events as opens in order to get better clarity on this.