You should set edgecolorfor all the boxes and use set_colorfor the six lines (mustache and median) associated with each field:
ax = sns.boxplot(x="day", y="total_bill", data=tips, color='white', width=.5, fliersize=0)
for i,box in enumerate(ax.artists):
box.set_edgecolor('black')
box.set_facecolor('white')
for j in range(6*i,6*(i+1)):
ax.lines[j].set_color('black')
If the last cycle applies to all performers and lines, it can be reduced to:
plt.setp(ax.artists, edgecolor = 'k', facecolor='w')
plt.setp(ax.lines, color='k')
ax boxplot.

, .