Разница лишь в том что что используя : функции не нужно передавать self как параметр. См. Пример
function MyClass:Func(a) self.name = a end function MyClass.Func2(self, a) self.name = a end object:Func("hello") object.Func2(object, "hello")