The budgets limit is 1,000 more than the number of campaigns limit to allow for some room in reassigning budgets if needed. There is no restriction on the number of campaigns that can share a budget.
This limit does not apply to operations on ProductPartition criteria changes that do not modify the structure of the tree. For example, a request that only modifies the bids of existing partitions can contain operations for more than two Shopping ad groups.If you want to modify the structure of the ProductPartition tree for more than two Shopping ad groups, consider using batch jobs, where this restriction does not apply.
There are rare cases where you may receive an INTERNAL_ERROR even though you
have not exceeded any of the above limits. This occurs when the internal
resources are marshaled and there is a fan-out of dependencies that exceeds
internal limits. Try reducing the size or complexity of the query. You may
need to execute more than one query to obtain your required result.