In general there are a number of reasons why that could happen, for instance if the timing uses hardware vs delay loops.

On real hardware the delay loops is ok on a single application system but in emulation that might not work if the emulation of the CPU itself is not cycle exact or there are memory accesses that induces wait states in the delay loop that are not emulated exactly.

It could also be that there are different hardware timing possibilities, timers and VBI callbacks etc and some of them are not emulated exactly. It is also known that on some systems PAL and NTSC versions for some softwares on real hardware differ in speed even because it uses the 50 and 60 Hz as the basis for timing, hence the NTSC is 20% faster and they didn't care to fix that in the software.

Because I can