Абсолютные единицы измерения используются для радиуса. Причина, по которой 0,6 выходит за пределы оси, заключается в том, что по умолчанию, если вы просто строите пустую фигуру, ее экстент составляет от 0 до 1. Например,
fig, ax = plt.subplots()
ax.set_aspect('equal')
результаты в

Теперь, если вы центрируете свой круг в (0,5, 0,5) и используете радиус 0,6, он выйдет за пределы оси, и вы увидите усеченный патч, как вы видите в своем вопросе.
Вещи проясняются, когда вы удаляете plt.axis('off')
и используете radius = 0.5
circle = plt.Circle((0.5, 0.5), 0.5, color='blue')
fig, ax = plt.subplots(figsize=(3,3))
# plt.axis('off') <--- commented out
ax.add_artist(circle)
fig.set_facecolor("gray")
ax.set_aspect('equal')
plt.plot([0.5], [0.5], 'ro')
