Kiwi should work very well for your intended application.
Most beacons work by broadcasting their state via BLE advertisements. Sometimes they use scan response packets to send additional data above and beyond what can fit in a normal advertisement.
Either way, Kiwi will work quite well. It will listen (or actively scan, if so configured) for these advertisements. When it sees advertisements, it takes the entire BLE packet and encapsulates it in an MQTT message payload and pushes it to the MQTT broker of your choice.
AWS IoT Core is supported right out of the box - with a single configuration command Kiwi sets up everything including certificates. Very slick. You should also be able to easily push to Ubidots’ as well by manually configuring the MQTT details in Kiwi.
Lastly, as for the max number of beacons, I don’t believe there is a practical limit.
Check out the Kiwi Doc page if you haven’t already.
Suffice it to say, Kiwi works very well - highly recommended!