Why do individuals make different decisions when confronted with similar choices? This paper investigates whether the answer lies in an evolutionary process. Our analysis builds on recent work in evolutionary game theory showing the superiority of a given type of preferences, homo moralis, in fitness games with assortative matching. We adapt the classical definition of evolutionary stability to the case where individuals with distinct preferences in a population coexist. This approach allows us to establish the characteristics of an evolutionarily stable population. Then, introducing an assortment matrix for assortatively matched interactions, we prove the existence of a heterogeneous evolutionarily stable population in 2x2 symmetric fitness games under constant assortment, and we identify the conditions for its existence. Conversely to the classical setting, we find that the favored preferences in a heterogeneous evolutionarily stable population are context-dependent. As an illustration, we discuss when and how an evolutionarily stable population made of both selfish and moral individuals exists in a prisoner's dilemma. These findings offer a theoretical foundation for the empirically observed diversity of preferences among individuals.