I am not sure if you were ever able to fix this. I was handed a similar task in moving our subversion server (currently hosted on an Ubuntu LTS machine) to a Centos 8 server. This is one of our legacy services. However, like you I just could not make this work. The short version is I gave up on this and told the users they had to move to git.
Here is what I did to try to make it work, for those who may find this post. The first problem is, of course, that viewvc isn't packaged for Centos (RHEL) 8, including in EPEL. So, I went to the github source https://github.com/viewvc/viewvc/ and downloaded the latest release (at the time, 1.2.1). I extracted, read the INSTALL and started. I applied the ./viewvc-install script, which seemed to work without error. I updated the viewvc.conf with our settings after reviewing it and installed the configuration file in apache. That all seemed to work and I could get basic viewvc executing. However, like you I found that ImportError: No module named svn.core when I tried to view a subversion repository. Release branch 1.2 requires python2, so I installed that through dnf. I read the advice in the INSTALL file and tried getting svn.core to import. However, it appears there is no packaging in core centos repos, epel, or pypi for those bindings (which appear to be the SWIG bindings). I got encouraged when I installed through pip2 svn and was able to import svn, but not svn.core. It appears this is not the svn package that viewvc is looking for. I seemed to get confirmation that what I actually needed was in the subversion project when I found this page: https://cwiki.apache.org/confluence/display/SVN/Subversion%27s+Python+3+Support+Status which listed every python file in subversion and confirmed that there is a core.py (subversion/bindings/swig/python/svn/core.py). I am not sure why this is not packaged or where to find and install it. I really wasn't interested in trying to grab the subversion source and try to distribute it myself it would be the second package (in addition to viewvc) that I would then need to regularly check for security issues and manually upgrade. (That is what a package manager is for!)
However, after seeing that page about python3 support status, I decided to look at the viewvc again and see if it supported python3. I found issue 138 (https://github.com/viewvc/viewvc/issues/138) and it was closed! I thought I was now in luck. It seems that as of the date of this post, the master branch supported python3 (viewvc) and that it was going to soon be released as the 1.3 version. This seemed encouraging. I downloaded master, and installed it. However, I soon realized that subversion needs to be at 1.14 to support python3 (which at time of writing was still unreleased, but at rc2). Regardless, I judged it nearly impossible that RHEL would rebase subversion to 1.14 in the RHEL 8 / Centos 8 lifetime, which again means more hand updating for the life of the server.
With all that, I abandoned the subversion repos. There is a really good svn2git program out there. For a minimal web interface, git-web was simple to get up and running and is roughly equivalent to viewvc. It is also a supported package (dnf install git-web). If you wanted a slightly more pretty interface, GOGS (gogs.io) seemed nice and didn't have requirements for an external database installation (it can just use sqlite). However, it doesn't appear to be packaged for RHEL / Centos / EPEL. I am going to give git-web a go unless we need something prettier.