How can I connect multiple different sensors that uses the same pins?
You are lucky, the two devices creating the conflict both use the same pins because they both use the same interface, SPI to be precise, which allows to have multiple devices connected using different Chip Select pins, abbreviated as CS.

Of the two libraries, one allows to define the CS pin (RFID module), the other has it hardcoded (ePaper). So, when declaring your RFID library, you should use the constructor that allows to define the chip select pin:

void PCD_Init(byte chipSelectPin, byte resetPowerDownPin);


This means in your code you should use:

PCD_Init(6,8) rfid;


The above also implies one of your RFID connections must be changed: what was previously SDA --&gt; Digital 10 is now going to be SDA --&gt; Digital 6. Please note I picked pin 6 randomly among the pins that seem unused by your code, but any other unused pin will be a good choice, including analog pins.

BTW, the web page about the RFID module uses a pin naming which causes a lot of confusion because it mixes up SDA with MISO and MOSI: those names are used in two different types of interface, the former is called I2C or TWI, the latter SPI. On Arduino the two interfaces share a couple of pins, but they are very different in many different ways.

In your case both modules use SPI, which is good for you.