First, make sure you set USSD delay to 0 on profile page. Usually, when you initiate the first USSD request, it waits for 30 seconds for the next input. If you make another request in this time frame, then it will consider it as an input to the previous request. Although, it will work only if your input to previous request is only 1 digit long. It is one of the limitation of USSD function provided by the Android SDK. It doesn't support taking input longer than 1 digit. This can't be overcome by the app, because the app relies on the Android SDK to perform this.
To overcome this limitation, you can also convert the multistep code to single step. For example, if you have a USSD code like *786# and you want to send 1 as reply to it, then you can use *786*1# to see if it works. This works for me, so it may work for you too. You can also do this for more than one input. For example, if you have a USSD code like *141# and you want to send 4 as the first input and 2 as the second, then you can use *141*4*2# to see if it works. This may work differently for your USSD provider. You can ask your USSD provider to see if this code can be done in a single step.