That one I find easier to explain. Since the data you see is the result of an algorithm which significantly reduces/simplifies the amount of data and tries to conclude with what has happened I imagine your values for a particular point in time is actually based on some sort of trend/average/other computation looking not only at the input for that particular point in time but also for the last x seconds.
Any small variation in data can lead to the algorithm coming to a slightly different conclusion as to what your current pace is for a particular foot. If the algorithm also uses historic data then that difference persists/compounds over time. Since I suspect you don't have 100% identical stride patterns with you right and left foot that means variation in input.
If we were able to move close to raw data (i.e non-filtered input) then the difference should shrink. I'm not sure if it'd ever disappear completely though since I imagine there is a bit of noise-data filtering going on set to some threshold. Remove the filtering and the noise will impact the analysis, have the filter in place and you will always risk filtering out data which should have been part of the input to the analysis-algorithm.
Someone from RS please correct me if I'm way off with my speculations!
One interesting aspect of this that I just thought of. I wonder what would happen if one was able to calculate the distance traveled according to the pace graph and compared it to the total length of the run, would they be identical after i configure the distance manually? And/or added the total number of steps times the average stride length. I'm guessing it should all add up...