Fundamental differences in programming, internal data architecture, and raw processing power seem to be the most likely reasons. Data's brain was comparatively small and easily 20+ years old by the time the EMH rolled around, while the EMH was basically an adaptive program being run by Voyager's enormous, high-tech computers.
The EMH, more specifically the Doctor, had too much ego inherited from Lewis Zimmerman. Data was like a curious child mixed with a logical Vulcan. Data could move about freely while the Doctor required a piece of 29th century tech to move about the ship. Also, Data graduated Starfleet Academy, the Doctor was simply programmed with knowledge.
cybermudd as I remember from the show, all but one of Lewis Zimmerman EMHs were sent to a mining conoy, due to the fact he didn't program in better bedside manners into them. He just maybe them to help the ship's doctor if a huge emergency happened. They came off as cold, since Lewis didn't think they needed that in their program. It's also why Lewis was shocked to learn that the Doctor was able to go beyond this program, and learn a few emotions.
So over the 20 plus years, data was still stuck in locgic mode, and couldn't get a hold of the concept of emotions, even thought he worked around tons of people who showed them all the time. The Doctor was able to learn how to express his emotions over a very short time, while Data didn't exand on his until he got a new chip installed.
Even Lore showed emotions, and it wasn't explained how he gain emotions while Data didn't. At least I don't remembe rif it was or not.
Data was programmed to not have emotions. Not merely an absence, but a designed intent, because of Lore.
This, this one sentence answers the whole thread. Lore was 'too perfect', so Dr. Soong made a 'less perfect' android (Data). Later on, Soong made an emotion chip for Data, and when it was installed in Generations, he instantly got emotions.
Originally Posted by Ramming Speed at its finest.
[Combat (Self)] Your Ramming Speed III deals 158125 (201492) Kinetic Damage(Critical) to [Player's Scimitar].
We are the Borg. Irrelevancy is irrelevant. ~ Cry OP, and let slip the devs of nerf!
If you say banana slowly, you can hear the word gullible in it. ~ There's no Q in Star Trek.
Lore's emotions led him to a superiority complex that led to an alliance with the crystalline entity. This is why he was deactivated and Data was created as an "improved model".
The Doctor was able to easily expand his "humanity" because he was a hologram run by a starships computer. Data was an independant android that could do anything he wanted. He chose to join Starfleet and explore the galaxy. Data did not have the smug attitude of the Doctor, he saw himself as flawed without the ability to feel emotion.
The Doctor's true struggle was that of gaining independence. First, he was trapped in sick bay. Then, after receiving the mobile emitter, he was treated as a second rate citizen by alien species and the Federation, who refused to acknowledge he was sentient.
Data struggled with emotions because no one could understand or duplicate his positronic brain. He was unique from creation. The Doctor became unique as a result of living, but Data was always one of a kind.
Personally, I think the difference is as mentioned above. Essentially a 20+ year increase in computational technology, combined with the fact that Data was a standalone mobile entity, where the Doctor was essentially a program run by Voyager's computer, which was considerably more powerful than Data's positronic brain. Much of the Doctor's emotions could also be, although not initially programmed, part of an adaptive system to allow him to better interact with patients or rather, make him easier for patients to relate to, where B4, Lore and Data were essentially constructed by an eccentric 'for the lols', without a specific job function in mind.