The problem is that you're trying to insert a pair into the map, instead of a vector of pairs. If you want the vectors to start empty, the easiest way is to let it use the default constructor (which for a vector, makes an empty vector), and not explicitly insert into the map at all:
map<string, vector<std::pair <string, string>>> myMap;
myMap[key].push_back(std::make_pair (string1, string2) ); //use key, push strings into vector<string, string>