Controller:
Golden Motor has at least four controllers for 48 V systems, with continuous current ratings as low as 80 amps. I assume it is one of the suitable models, with 10 kW continuous output rating.
The current (100 amps) is way under the rating of these controllers (200 amps) so the controller's capability shouldn't be the problem... but is there a current limit setting which is being hit? 100 amps is not enough (would be 4.8 kW of motor output at perfect efficiency), so something is limiting the current.
On the other hand, it is probably not the controller or its settings, because the motor characteristics probably explain the problem...
Motor: model - HPM-10KW, SKU -
HPM10KW48V-AIR
The product description in the Golden Motor web site is almost entirely unhelpful. They give a range of speeds, but that is in the context of a description which lists operating voltages up to 120 volts. Although the title says "10 kW", the description says 8 kW to 20 kW for that range of 48 V to 120 V. Just from that description, it's entirely possible that the motor can't run effectively at 4000 rpm with only 48 volts, and can't produce even 8 kW with 45 volts input to the controller. On the other hand, they show "8KW-20KW" for all voltage versions
Via a link in another forum, I found performance data in the Golden Motor website for this motor:
data table:
https://www.goldenmotor.com/eCar/HPM10KW%20(48V)%20Data.pdf
graphed:
https://www.goldenmotor.com/eCar/HPM10KW%20(48V)%20Curve.pdf
... and for the higher voltage versions, including the 72 volt...
data table:
https://www.goldenmotor.com/eCar/HPM10KW%20(72V)%20Data.pdf
graphed:
https://www.goldenmotor.com/eCar/HPM10KW%20(72V)%20Curve.pdf
All the labels are in Chinese, and this is one of those idiotic data sets that shows only the upper part of the speed range, but I think I see the problem. At 48 volts this motor can spin almost 4,000 rpm, but cannot produce useful torque up there. Get down to about 3700 rpm and it is only using 100 amps, because that is all 48 volts can push through it at that speed; the corresponding torque and power are 11 Nm and 4.3 kW. Power and torque drop off rapidly above that speed and the efficiency falls apart, so when you accelerate it will be like hitting a wall when the motor speed gets that high. I copied the data into a spreadsheet so I could graph it in a more useful way, and attached some graphs.
From that top end of the useful power range down to some point (off the data chart) it is limited by power (go slower and get more torque, etc), and peak power is available at only one speed. It's not in the 48 volt data, but the data for the 72 volt motor shows the expected constant-torque range below the peak power speed (which is 4700 rpm for the 72 volt, but 3300 rpm or something less for the 48 volt). So you can gear to put something like 3500 rpm at the highest road speed desired, but when you go slower you hit the next problem - 200 amps is not enough to get maximum torque and power at lower speeds. I copied the 72 volt data into a spreadsheet, too, and attached some graphs showing the flat torque region at lower speeds; the 48 volt motor should be similar (but at a lower speed).
With a 48 volt nominal system voltage, battery voltage dropping to 45-46 volts doesn't seem like it could be the problem. Even if that is significant sag from the fully charged resting voltage, it's not much less than the full nominal voltage and should be able to drive a 48 volt system as designed. If I have understood this situation correctly, that means that a different battery won't help. Higher current capacity won't be used if the voltage isn't there to drive it.
Getting enough power for the desired top speed means gearing very precisely, since too tall will not provide enough torque and too short will mean the power drops off too soon.