Data's lack of emotions is intentional
According to Lore, Dr. Soong deliberately left many features out of Data's programming in a bid to make him less threatening to humans.
LORE: It would be foolish to underestimate you, brother. Yes, I lied
when I said you were made first, but with good reason. Doctor Soong
made me perfect in his first attempt. But he made me so completely
human the colonists became envious of me.
DATA: You lived with the colonists?
LORE: Until they petitioned Soong to make a more comfortable, less
perfect android. In other words, you, brother. Haven't you noticed how
easily I handle human speech? I use their contractions. For example, I
say can't or isn't, and you say cannot or is not. (sings) I say
tomato, you say tomahto. I say potato, you say potahto. (laughs) A
very old joke. But then you also have trouble with their humour. Am I
right?
Star Trek: The Next Generation, "Datalore"
It seems likely that among the features Dr. Soong omitted in order to make Data less human were emotional programming. It is true that Lore sought to gain the emotion chip that Soong had designed for Data, but probably more out of jealousy than anything else, or perhaps to enhance his existing emotions. In any case, Lore clearly displays emotions before acquiring the chip. For example, he laughs in the previous transcript.
Furthermore, the Doctor came after Data
Data was born in 2336 or so.
The EMH was activated in the 2370s, and thus came several decades after Data.
KIM: Computer, initiate Emergency Medical Holographic programme.
(A balding human male appears.)
EMH: Please state the nature of the medical emergency.
KIM: Multiple percussive injuries.
EMH: Status of your doctor?
KIM: He's dead.
Star Trek: Voyager, "Caretaker"
This gave the Federation plenty of time to study Data's programming and improve upon it.
As such, the EMH may indeed be more advanced than Data, simply by virtue of being a later model.