The topic of how cooperation emerges and develops in the real world has been intensively studied. Many mechanisms and models have been proposed to explain this complex phenomenon with the idealized assumption that all players are homogeneous or have little heterogeneity. This paper investigates the evolution of the public goods game with multiple heterogeneities. Roughly speaking, the quantity of investment (by a cooperator), penalty (received by a defector), or cost (paid by a punisher) is not fixed but depends on specific evolutionary situation. Moreover, heterogeneity is also introduced in aspiration payoff of each player for the strategy updating rule. Multi-heterogeneity makes the considered model more realistic. The simulation experiment shows that the combination of modified punishment mechanism and strategy updating rule can promote cooperation density in both the multi-heterogeneity and homogeneity models.