Does finnish make a distinction between 'roof' and 'ceiling'? I am asking because in spanish we use the same word for both and also because I think it makes much more sense to paint a 'ceiling'.
Yes and if you want to specify you can say 'ulkokatto' (roof) or 'sisäkatto' (ceiling).
As such there is no distinction, one needs to say "ulkokatto" or "sisäkatto" when one needs to specify.
Who paints their roof?
If you have e.g. a sheet metal roof it's pretty easy to paint it yourself when it needs freshening up ("peltikatto" is a popular roof type in Finland). :)
It's done, depends on material of course, but e.g. tin roofing can be painted...
Is "they paint the roof" wrong?
Yes, unfortunately, that would be "he maalaavat katon". The partitive (kattoa) indicates that the action is ongoing, happening right now.
Why is katto in this sentence now kattoa?
It's in partitive because it's an ongoing action.