Boxplot (edições gerais)
Posições das caixas
Por padrão, os boxplots serão adicionados no eixo x com 1 unidade de distância entre si (range(1, N+1), onde N é o número de conjuntos). Podemos alterar esta distância através do parâmetro positions, passando uma sequência (list, tuple, ndarray, etc) com as posições de desejadas.
Por exemplo, para desenhar as caixas nas posições -1 e 1:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[-1,1])
plt.show()
Figura 1 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - posição da caixa alterada.

Para deixar os boxplots mais próximos, basta passar valores mais próximos (0 e 0.5 por exemplo):
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5])
plt.show()
Figura 2 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - posição da caixa alterada.

Labels
Para dar um nome para cada boxplot, passamos uma sequência (list, tuple, ndarray, etc) para o parâmetro labels, onde cada elemento deve ser uma str com o nome de cada conjunto.
Atente que os labels serão inseridos na posição de cada boxplot no eixo x, substituindo o número da posição do boxplot.
Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"])
plt.savefig("boxplot-03.png", dpi=100, bbox_inches='tight')
plt.show()
Figura 3 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com labels.

ou ainda:
nomes = ["11 anos", "12 anos"]
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=nomes)
plt.show()
Figura 4 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com labels.

Símbolo dos outliers
Para alterar o tipo de símbolo utilizado para os outliers, basta passar a str correspondente ao símbolo desejado para o parâmetro sym. Os símbolos disponíveis são os mesmos vistos anteriormente.
Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], sym="^")
plt.show()
Figura 5 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com símbolo do outliers alterado.

Para esconder este símbolo, basta passar uma string vazia. Entretanto, está não é uma prática recomendada, pois o outlier tem grande relevância na interpretação do boxplot.
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], sym="")
plt.show()
Figura 6 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com outlier escondido.

Um outra forma de esconder os outliers é passando False para o parâmetro showfliers (padrão é True):
Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], showfliers=False)
plt.show()
Figura 7 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com outlier removido.

Espessura das caixas
Para alterar a espessura dos boxplots, basta passar um número (float ou int) ou uma sequência (list, tuple, etc) através do parâmetro widths para o plt.boxplot(). O valor padrão é o menor valor entre 0.5 e 0.15 vezes a distância entre as posições mais extremas, ou seja, varia com o número de caixas inseridas.
Por exemplo, para caixas com a mesma espessura:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], widths=0.4)
plt.show()
Figura 8 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com espessura das caixas alterada.

Para personalizar a espessura de cada caixa, basta passar uma list:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], widths=[0.4, 0.1])
plt.show()
Figura 9 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos com espessura das caixas personalizada.

Observe que este parâmetro altera todos os elementos do boxplot proporcionalmente.