Bitpay can convert BTC to BTC, but whats the point? BFL could just accept the BTC whien you select that payment option on their website without paying a fee to Bitpay. Bitpay exists to convert from BTC to something else.
Bitpay and sorts exists because people are too lazy to integrate BTC into their website.
The BTC processors handle the conversion of USD/EUR to the floating BTC price and they make sure the payment is done within a defined time window like 15 minutes
There is absolutely no reason why you can't deal with that yourself, you can connect to various exchange api's to get the correct exchange rate, add 5% on top, generate a unique address and see if the coins get deposited within 15 minutes. If not, cancel the order. If you do get the coins, either hoard them or sell them on an exchange before the price goes down.
But I guess there must be a reason why people don't do it themselves (and even pay a fee in order not to deal with it), there is general lack of shopping cart modules that handles this independent of a payment processor and it's not the core business of somebody running a shop... And people are lazy.
If you want the most blatant example, Avalon has always announced they are not converting their BTC into USD and they have been doing 3 batches so far with Paysius, WalletBit and Bitpay. In the first 2 cases the processors had to convert the listed USD website price into BTC but in the last case with Bitpay, the price on the website was fixed in BTC, so the only thing Bitpay had to do was deal with a DDOS and collect 600 x BTC 75. No conversion, no selling into USD
(Avalon has always used the opportunity to allow processors to get exposure and have them stress test their service)