The default values for
innodb_buffer_pool_instances is explained in the official MySQL Documentation:
Default Value (Other) : 8 (or 1 if innodb_buffer_pool_size < 1GB)
Default Value (Windows, 32-bit platforms) : (autosized)
So, if your
innodb_buffer_pool_size is less than 1 GB,
innodb_buffer_pool_instance will always be reset to 1.
Moreover, since you mentioned my.ini file, it indicates that you are using Windows. If your Windows is 32-bit, then MySQL auto-determines this value, and thus changing it in my.ini won't affect anything. The rules are:
If innodb_buffer_pool_size is greater than 1.3GB, the default for innodb_buffer_pool_instances is innodb_buffer_pool_size/128MB, with
individual memory allocation requests for each chunk. 1.3GB was chosen
as the boundary at which there is significant risk for 32-bit Windows
to be unable to allocate the contiguous address space needed for a
single buffer pool.
Otherwise, the default is 1.