Типичная ошибка, которая рассматривается в каждом учебнике по питону.
Во-первых, list - это не метод, а тип, который инстанцируется в список, если его вызвать.
Во-вторых, вот в этой строчке def __init__(self, elements=list()):
создаётся список. Он создаётся оин единственный раз при объявлении класса. Значение этого списка будет присвоено аргументу elements по умолчанию при каждом вызове конструктора без указания этого аргумента.
То есть один и тот же список будет сохранён в атрибутах всех объектов этого типа, которые были инстанцированы без указания параметра.
У всесх ваших таких экземплярах внутри ссылка на один и тот же список. Если через одну ссылку в список добавить элеенты, то через другую ссылку доступен тот е самый список с уже добавленными элементами.