I would ask this on stackoverflow but I wanted a more theoretical answer. I understand that vectors have magnitude and direction whereas points are just coordinates.
In computing and especially in data science we use vectors to represent objects with multiple attributes. But as I mentioned vectors have magnitude and directions and it seems to me that in order to describe the attributes or properties of an object it would be better if we used points.
Why do use vectors then?
There is no "theoretical answer" to this question.
Mathematically speaking, each of the abstract objects you call "points" or "vectors" can be described by a list of numbers once you have chosen a coordinate system.
In data science the coordinate system is usually built into the problem: one coordinate for each numerical attribute. That you sometimes call the resulting list of numbers a "vector" does not mean you want to think of it as having length and direction.
Sometimes vector operations on data points may be useful. I think that's the case when analyzing some high dimensional data. Then the dot product between vectors/points can tell you the angle between them, which tells you when they are roughly proportional or nearly perpendicular. That can have semantic consequences in your data analysis. (Note: this is an impression I have from talking with folks who do this kind of work. It's not a definitive assertion.) (although sometimes that is in fact useful).