Sorry Crossroads I must disagree on two counts:
You want to drive 20, 25mA into the transistor to turn it fully on to act as a switch.
Kinda depends on the transistor and the load?
Thats fine for a low gain power transistor but the OP is using a 2N3903 small signal transistor and the data sheet (Fig 17) only shows Vces for Ic/Ib = 10.
Fig 16 Vces vs Ib curves only go to Ic/Ib=10 because there is little (DC) benefit in going further.
TL:DR; yes, in extreme cases turn-on time is reduced for more base drive; but then you need negative base bias to extract carriers and turn the tr OFF quickly.
At 70mA Ic (7mA Ib) Vces is shown as 0.3V which is fine.
Secondly - and I see this a lot -
The coils are self limiting for current, so you don’t have to worry about them.
Sorry, its nonsense; what Terry Pratchett calls “lies to children”.
The coil current is governed by ohms law.
The relay spec gives the coil resistance as 70 ohms +_10%.
So when operating at 5V it will draw 5/70 = “71.4” (but really between 65 & 78 mA)
Wing - that explains where the “71.4mA” comes from.
The pull-in voltage is shown as 75% ie 3.75V so it will operate quite happily with Vcc=5V and Vces=0.3V leaving 4.7V for the relay coil.
But … I must agree with you about MOSFETS. They do make MUCH better switches in most arduino applications -provided they are correctly chosen to operate from the low arduino logic levels, particularly the 3.3v versions.