Why new public key for every new request?
The reason is privacy.

If you reuse the same key for every transaction, everyone who ever transacts with you can infer your entire balance.

No, public keys should not be identities, exactly because the transactions to them are public too. Your ability to create many pseudonyms in the system the only way through which it has any privacy. By reusing addresses you hurt your privacy, but also that of others who interact with you.