These are two questions that should be addressed separately.
Should I cite the demo paper?
Yes, not only to avoid self plagiarism, but since it improves the overall appearance of your work that you have already demonstrated your system before. In this particular situation it is even more important since it is quite possible that the TPC members know your demo from last year and if they were impressed by it this will boost your paper.
Should I re-explain things that are covered in the demo abstract?
Yes, too, assuming the algorithm is central to your new paper and not only a nice add-on. Thus, your paper extends your demo abstract in a sense as a journal paper might extend a conference paper. In such a case where you significantly extend the paper, it should be self-contained. This is not only allowed in nearly all cases, but encouraged. Otherwise, the algorithm is not counted as contribution of the new paper, but only the evaluation remains, potentially making the contribution too low for a new paper.
Furthermore, it is cumbersome for readers. They would have to read both the demo abstract and the paper to understand everything, potentially leading to confusion. Second, it might be difficult to access your demo abstract at all since is often not part of the published proceeding and even if it is, a reader potentially has to pay twice to access the demo abstract and the paper.