For example is the following valid?
std::vector<int> vec(5, 0);
std::vector<int>::const_iterator it1(vec.begin());
std::vector<int>::const_iterator it2(vec.begin());
//Use it1 and it2 like they don't know about each other.
Is there a special name for a container that permits multiple active iterators?
Yes, it’s valid.
You can have as many iterators into a vector as your system has memory to hold iterators.
The special name for this type of container is “any STL container”. All containers allow this.
Maybe explain why you think this shouldn’t be allowed?