Designing for a project requires a lead to a greater extent to keep the design consistent, whereas programming is more defined and concrete work: "This is wrong, fix it." If the issue no longer occurs after the patch is applied, work is done. Design work is more abstract in that sense.
The designer's benefit would defiantly be in having the project in their portfolio. Additionally I don't think too many projects need an entire design team, for most projects one would be sufficient increasing the portfolio value you are talking about. Most people contribute to projects they use, adding functionality they would like to have themselves. I'm sure that is something that would motivate designers too.