По той же причине:
std::vector<int> vec;
vec.push_back(int);
не работает. Вам нужен объект, а не тип:
std::vector<int> vec;
vec.push_back(int{}); // notice the {}
Точно так же ваш:
Vector.push_back(std::function<void()>);
Пытается создать sh тип, а не объект. Создайте так же:
Vector.push_back(std::function<void()>{}); // notice the {}