Yes and no.
If you aim for the exact same cluster names to be assigned to the exact same cells, manual naming might be necessary. However, there are tools available for annotating one dataset using a reference dataset. By creating a reference object and subsequently mapping the query object using this reference, you can automate the process. Tools like singleR and scType may be helpful.
why are the UMAP visualization all different between the one i drew
with scanpy, Seurat and the one from the paper?
what you observed can be because of various factors, like the use of different algorithms or parameter settings. Both Scanpy and Seurat utilize distinct algorithms, contributing to varying UMAP results. In Seurat, users can specify the method they prefer for UMAP generation using the RunUMAP() function. Options include "uwot" and "umap-learn," each employing different underlying algorithms. Scanpy employs the "umap-learn" method, the methods used in the paper you mentioned can be either of them or none. Using different algorithms or sometimes implementation of the same algorithm in different packages may lead to different visualizations.