Как раз таки этот код у вас работает.
&:first-child {
padding-left: 0;
}
А вот этот
&:last-child {
padding-right: 0;
}
нет.
Все потому что у последнего элемента нет паддинга справа. Вы задали фиксированную ширину его родителю и обертке. Хотите его убрать, уменьшите ширину или добавьте
.list{
justify-content: space-between;
}
если хотите растянуть содержимое на всю ширину