I think the answer that sticks out to me is that if these are musical horn sounds, you might consider using pygame.mixer.music, which will stream the sounds as needed. However, this won't work if you have other music playing or if you want multiple horns to be able to play at the same time.
A second solution is to load the sounds in the background of the game, especially if you're going to launch on a menu where the sounds won't be needed. You can pre-populate a dictionary with dummy sounds and use a thread to go through and load each sound into the dictionary while the user interacts with the menu.
SOUND_PATH_MAPPING = {'horn_funny': 'horn_funny.ogg', 'horn_sad': 'extra_sounds/horn_sad.wav'}
SOUNDS = {name: None for name in SOUND_PATH_MAPPING}
for name, path in SOUND_PATH_MAPPING:
SOUNDS[name] = pygame.mixer.Sound(path)
def load_sounds_background():
thread.start_new_thread(load_sounds, ())
If there's a legitimate chance that the player might try to use the horn sounds before they've finished loading, just have the horn logic check for Nones before trying to play or have a dummy sound object with a play method that does nothing.