Number of relays isn't always a problem. This is an elevator. Wires will be long. And the switches must be reliable and have a long life.
So, for example, instead of P1 controlling K1 and two NO contacts, P1 could be a DPST switch. But instead of just one wire (not counting the common), now you need four wires, and it's harder to troubleshoot the circuit, and you have to use more expensive switch that has mechanically linked contacts so that there's no invalid state due to a failure of a single contact. Safety relays with mechanically linked contacts are a reasonable alternative here.
Also, keep in mind that the cost of the relays is a minuscule part of the initial cost of an elevator. The real cost savings can be in maintenance - as that's what will cost way more over the life of the elevator than the elevator itself.
So, when designing a relay circuit for an elevator, it shouldn't be merely about using the elevator as a model of behavior. There are also application-specific aspects, and maintainability, ease of diagnostics and part availability make a big difference. Perhaps it's not something of big importance in an introductory controls course, but such topics don't exist in vacuum. Ultimately, these control systems end up applied in the real world. And there, the micro-optimizations such as relay counts alone are ill-considered without taking the bigger picture into account. Of significance are uniformity across different variants of the product, minimization of the number of different parts - to simplify stocking and procurement, the ease of training the maintenance personnel, and so on. That's what the user of any piece of equipment cares about a lot. $1000 in relays either way makes no big difference in that picture.
Now - don't get me wrong, gratuitously adding components may well decrease reliability. So everything has to be looked at in context. Sometimes less relays is more, sometimes more relays is less :)