Hi,
It's the opposite actually. The payment methods display or not on the checkout based on the current currency (that you can change with the currency switcher module, or that you can force with the geolocation system or the "main currency" setting).
So the PayPal payment method won't display when the KES currency is the current one (that's a fact). So there must be something you're not telling us. Did you modify the code of the payment plugin ? Could you provide a link to the shop with the KES currency set as main currency ? So that we can see that ?
Regarding the Pesapal module, it's normal that it does that. If you look at the main file of the plugin:
github.com/patricmutwiri/Pesapal-for-hik...b/master/Pesapal.php
You can see that line:
var $accepted_currencies = array( "KES", "USD" );
So that means that it suppors both KES and USD currencies.
If you want to restrict a payment method to one currency, you need to use the "currency" restriction setting of your payment methods and select the currencies for which they should display.