It seems that both sub- and infra- are prefixes that mean "below", leading to their use in different words to provide a similar meaning. We even have some words that are the same apart from these prefixes whose meanings could conceivably be flipped, eg. subsonic and infrasonic, substructure and infrastructure.
Normally in cases like this, the prefixes come from different languages but in this case, they both etymologically come from Latin. How did this come to be? Why 2 different prefixes with the same meaning?