"C" stands for cloud-optimized; improved efficiency for die area and power, as well as increased core counts.
Cache takes up lots of space, so "C" CCDs have less of it per core.
While the architecture is exactly the same as regular Zen 5, the cores are build denser, so can't clock as high. But lower clocks mean better efficiency. (They're also guaranteed to run at that set speed 24/7, so cloud providers can be secure in selling that performance level to their customers.)
Having more cores, but at reduced performance per core may also alleviate any bottlenecks from the Infinity Fabric link to the CCD, and 12-channel DDR5. You probably couldn't realize much improvement from having 16 Zen 5 (non-C) cores on a CCD, since they'd end up being bandwidth starved.
The C-core CCDs end up being smaller enough that you can cram 1.33 to 1.5 times as many C cores per socket. Then a cloud provider gets cost savings from being able to serve more customers per rack; each running a virtual server utilizing just 1 or a few cores.