I would say try a very slow cut to make sure the bit can keep up. Cutting too fast can cause small size variations. The same with the heart, looks like you tried to move too fast or your machine is too loose.
Looking through the code the square is a bit deep per pass at that speed, the heart I am assuming is similar.
It is much easier to start slow and shallow and then test how far you can push it and watch the dimensions vary. You are really close but start a bit less aggressive. Cut the speeds in 1/3 and check your dimensions, and then you will get a good feel for your machines capabilities.
There are a few ways to make faster cuts but get a good slow one first.