Quick answer: GameMaker setting image_blend on one tilemap layer affecting all layers in the same room? image_blend is per-object - tilemaps are per-layer; set draw_set_color in Draw event for granularity.

Dim one tilemap layer during night transition. Every layer dims because image_blend is applied globally.

Use draw_set_color in Draw

var col = make_color_rgb(128, 128, 128);
draw_set_color(col);
draw_self();
draw_set_color(c_white);

Per-draw color. Doesn't bleed to other layers.

Or use a shader

For per-pixel tint, a shader applied to the tilemap layer is more accurate. Shader uniforms are per-instance.

Or layer-level effect

GameMaker 2.3+ supports layer effects. Tint at layer level; doesn't affect other layers.

“GameMaker draws via global state. State leaks across draws.”

Always reset draw state at the end of a Draw event. The discipline prevents the global-leak class of bug.

Related reading