Потому что функции, используемой в
bind пытается передать 2 параметра:
1 - self, т.к. она прописана как метод объекта
paint_window
2 - событие, которое передается всем функциям при использовании bind
Соответственно эти параметры и надо прописать для своей функции
def mouse_position_print (self, event):
И по логике наверное хотели создать объекты window для экземпляра класса, т.е. надо их вынести в init
def __init__(self):
self.window = Tk()
self.window.title("paint")
self.window.geometry("1280x720+300+150")