It is well established that individuals age differently. Yet the nature of these inter-individual differences is still largely unknown. For humans, two main hypotheses have been recently formulated: individuals may experience differences in aging rate or aging timing. This issue is central because it directly influences predictions for human lifespan and provides strong insights into the biological determinants of aging. In this article, we propose a model which lets population heterogeneity emerge from an evolutionary algorithm. We find that whether individuals differ in (i) aging rate or (ii) timing leads to different emerging population heterogeneity. Yet, in both cases, the same mortality patterns are observed at the population level. These patterns qualitatively reproduce those of yeasts, flies, worms and humans. Such findings, supported by an extensive parameter exploration, suggest that mortality patterns across species and their potential shapes belong to a limited and robust set of possible curves. In addition, we use our model to shed light on the notion of subpopulations, link population heterogeneity with the experimental results of stress induction experiments and provide predictions about the expected mortality patterns. As biology is moving towards the study of the distribution of individual-based measures, the model and framework we propose here paves the way for evolutionary interpretations of empirical and experimental data linking the individual level to the population level.