Как правильно составить класс с аргументом self?
Ваш set - функция. Соответственно
ivan.set("Иван", 33)

Так же аргументы можно передать непосредственно при создании экземпляра класса
class Person:
    name = "Кристи"
    age = 10

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def set(self, name, age):
        self.name = name
        self.age = age

ivan = Person('Иван', 33)
class Person:
    name = "Кристи"
    age = 10

    def set(self, name, age):
        self.name = name
        self.age = age

lena = Person()
lena.set("Лена", 25)
print(f'{lena.name} {lena.age}')

ivan = Person()
ivan.set("Иван", 33)
print(f'{ivan.name} {ivan.age}')