В pygame при рисовании различных фигур заливка определяется в зависимости от наличия параметра ширины линии.
То есть, в вашем случае:
py.draw.circle(sc,Black,i.pos,7)
последний параметр 7 указывает ширину линии, поэтому заливка не происходит.
Если этот параметр убрать, то весь круг зальется черным цветом.
Если надо определить и заливку и цвет контура разными цветами, то необходимо нарисовать фигуру дважды, сначала с заливкой, а потом линией контура. Например так:
py.draw.circle(sc,Green,i.pos)
py.draw.circle(sc,Red,i.pos,7)
В таком случае получится круг залитый зеленным цветом, и красным контуром.