There can be several reasons why your trading bot opens positions that are smaller than what you have configured as buy amounts:
Limit orders
When using limit orders, it's possible that an order may not be filled or only partially filled. This could happen if the price of your cryptocurrency falls and no longer reaches your order rate. This is more common with illiquid trading pairs. If this occurs frequently, consider using market orders, although this may result in losses for illiquid trading pairs.
Insufficient funds
It may also happen that you no longer have sufficient funds available in your quote currency. In this case, the trading bot still tries to open positions for amounts below your set 'Minimum buy amount'. You can prevent this by enabling "Force minimum buy amounts" in your Base config under 'Currencies and amounts'.
Reserved funds
If you open orders based on the 'Percentage buy amount' and you have reserved funds, the opened orders will be smaller than what you have set. This is because reserved funds are not taken into account in the calculation of amounts for Percentage buy amount.