Okay, so option 1 and option 2 are both for the first group. That works. If the only difference is whether to use projects per customer or projects per customer group, then I think you should ask yourself about deployment cycles and code-change cycles.
If two customers should always have the same Pulumi code, and will update their /my-organization/infra/... projects at the same time (because you get to say when they're updated), then you might not want separate projects per customer at all; separate (groups of) stacks might be enough.
If one customer may have completely separate code-change/deployment cycles for different apps, then option 2 won't work at all. You'd need option 1, or some variation of it.