As soon as you checked if (!mymap[24].size()), mymap had a new entry placed in it. The entry maps the key "10" to a value of vector<string>. Because you used operator[], the default constructor of vector<string> was called, which provides an empty vector.
So, mymap[24] returns a reference to an empty vector<string>. Because the vector is empty, the size() of the vector is 0.
The map is one element larger, but you never checked the map's size. You only checked the size of the vector at mymap[24].