If the same paper had many contributions in many fields, can I cite each contribution separately?
Yes

If a paper provides such information that it can be used for several paragraphs - then absolutely you can, and you actually should, cite the useful paper whenever and wherever you use the information from within the paper (in your case, the algorithms with their enhancements).