Same here with 2.2.17.
I splited the DIT into two partions: root and ou=system.
First I replicated ou=system to two slaves. One database with a single
replogfile. Everything works fine.
Today I added a replica-statement for the root-partition to replicate
it to slave1. I added a replogfile there. But replication only works
for one database, the second is ignored.
I disabled the two replogfiles and set a new one outside the databases.
Replication works, but slurpd seems to attempt to add the changes two
times to slave1.
So I changed host for slave1 too SLAVE1 in one database and it works.

Is it problematic to use only one replogfile overall?

Yes if you need different access policies (in a broad sense, not merely
ACLs) to the two databases (e.g. in one database you have customer1's
stuff and in another you have customer2's stuff and you want to keep
them separate e.g. for archival or diagnostics purposes). In that case
use two separate ones, and use the uppercase workaround to distinguish
between the two. Otherwise it's just fine, and you have just one slurpd
doing all the work.