I don't remember were I've read this - I hope I'm recalling correctly - but it seems that the Canon jpeg algorithm is efficient in a way that you don't always get the same size in megabytes for each image, but rather the smallest size in bytes that the algorithm can produce. That is to say, for "complex" images, you get a bigger file size than for "simple" ones.
So the camera is giving you a conservative estimate based on your available card space. It can't predict how your next 200 photos are going to be like. It's thinking in the way of you using the most "complex" images, thus resulting in bigger files.
If I recall correctly, this is not true for Nikon, when all jpegs have, for the same horizontal x vertical size in pixels, have the same size in bytes.
To see if what I said is real, take two photos in jpeg, with the same horizontal x vertical dimensions in pixels: one photo of a white wall (with a small object for the camera to focus on) and another photo that is more "complex", such as the hair of a person (or grass at close range, or a pile of small objects with different textures and colours).
With your Canon, you will get two different file sizes, thus answering you question.
PS: Actually, if this is true, then the Canon jpeg algorithm is efficient (read: correct) while the Nikon jpeg algorithm is inefficient (read: incorrect, not compliant with the jpeg standard)!