why in-wheel BLDC motor have more pole than normal BLDC motor?
In-wheel motors have lots of poles so that they can operate effectively at low rotational speeds.

Think about pretty much any bare "electric motor" you see.  They usually go whizzing around at normal operating speeds.  This is why gear heads on electric motors are common.  They give you high torque at the slower speed you actually want, while allowing the motor design speed to be a much more convenient higher speed.

For direct-drive in-wheel operation, there is no option for a gear box.  The motor has to run at the wheel speed.  Even at highway speeds for typical cars, that's still quite slow for electric motors.

Lots of poles allows the magnetic cycle speed to be fast - that's actually what matters - while the shaft speed is lower.  With 46 poles, for example, the electrical and magnetic speed is 46 times higher than the mechanical shaft rotation speed.

This is not usually done because lots of poles increases manufacturing complexity and cost.  In most applications, gear boxes are a better tradeoff.  Put another way, lots of poles is plan B when plan A (gearbox) can't be used.