ServerScriptService.ChatHandler:34: attempt to call a nil value

local Module = require(game.ReplicatedStorage.MakeChatMessage)

local ChatService = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))

local Players = game:GetService("Players")

local OwnerNC = BrickColor.new("Crimson").Color

local NCs = {
	BrickColor.new("Lilac").Color,
	BrickColor.new("Linen").Color,
	BrickColor.new("Cork").Color,
	BrickColor.new("Dark green").Color,
	BrickColor.new("Storm blue").Color,
	BrickColor.new("Tawny").Color,
	BrickColor.new("Royal purple").Color,
	BrickColor.new("Burgundy").Color,
	BrickColor.new("Brown").Color,
	BrickColor.new("Steel blue").Color,
}

function PlayerAdded(player)
	local plrdn_n = player.DisplayName.."(@"..player.Name..")"
	Module.SendMessage(plrdn_n.." Just Joined!",Color3.fromRGB(147,187,147),"Join")
end

ChatService.SpeakerAdded:Connect(function(Speaker)
	local player = game.Players:FindFirstChild(Speaker)
	if player ~= nil then
		local NC = NCs[math.random(1,#NCs)]
		local NCV = Instance.new("Color3Value",player)
		NCV.Name = "NameColor"
		if player.UserId == game.CreatorId then
			Speaker:SetExtraData("NameColor", OwnerNC)
			Speaker:SetExtraData("ChatColor",Color3.fromRGB(147, 147, 147))
			Speaker:SetExtraData("Tags", {{TagText = "Epic -->", TagColor = Color3.fromRGB(187, 147, 107)}})
			NCV.Value = OwnerNC
		else
			Speaker:SetExtraData("NameColor", NC)
			NCV.Value = NC
		end
	end		
end)

function PlayerRemoved(player)
	local plrdn_n = player.DisplayName.."(@"..player.Name..")"
	Module.SendMessage(plrdn_n.." Just Left!",Color3.fromRGB(187,147,147),"Leave")
end 

for _, player in pairs(Players:GetPlayers()) do
	PlayerAdded(player)
end

Players.PlayerAdded:Connect(PlayerAdded)
Players.PlayerRemoving:Connect(PlayerRemoved)

I suppose you know what this topic is about as i have marked the possible line of error
but i still dont understand that why does it even happen!

SpeakerAdded returns a string, you can use GetSpeaker to get the real Speaker.

local Module = require(game.ReplicatedStorage.MakeChatMessage)
local ChatService = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))

local Players = game:GetService("Players")

local OwnerNC = BrickColor.new("Crimson").Color

local NCs = {
	BrickColor.new("Lilac").Color,
	BrickColor.new("Linen").Color,
	BrickColor.new("Cork").Color,
	BrickColor.new("Dark green").Color,
	BrickColor.new("Storm blue").Color,
	BrickColor.new("Tawny").Color,
	BrickColor.new("Royal purple").Color,
	BrickColor.new("Burgundy").Color,
	BrickColor.new("Brown").Color,
	BrickColor.new("Steel blue").Color,
}

function PlayerAdded(player)
	local plrdn_n = player.DisplayName.."(@"..player.Name..")"
	Module.SendMessage(plrdn_n.." Just Joined!",Color3.fromRGB(147,187,147),"Join")
end

ChatService.SpeakerAdded:Connect(function(SpeakerString:string)
	local Speaker = ChatService:GetSpeaker(SpeakerString)
	
	local player = game.Players:FindFirstChild(SpeakerString)
	if player ~= nil then
		local NC = NCs[math.random(#NCs)]
		local NCV = Instance.new("Color3Value",player)
		NCV.Name = "NameColor"
		if player.UserId == game.CreatorId then
			Speaker:SetExtraData("NameColor", OwnerNC)
			Speaker:SetExtraData("ChatColor",Color3.fromRGB(147, 147, 147))
			Speaker:SetExtraData("Tags", {{TagText = "Epic -->", TagColor = Color3.fromRGB(187, 147, 107)}})
			NCV.Value = OwnerNC
		else
			Speaker:SetExtraData("NameColor", NC)
			NCV.Value = NC
		end
	end		
end)

function PlayerRemoved(player)
	local plrdn_n = player.DisplayName.."(@"..player.Name..")"
	Module.SendMessage(plrdn_n.." Just Left!",Color3.fromRGB(187,147,147),"Leave")
end 

for _, player in pairs(Players:GetPlayers()) do
	PlayerAdded(player)
end

Players.PlayerAdded:Connect(PlayerAdded)
Players.PlayerRemoving:Connect(PlayerRemoved)

You should add if Speaker to verify that the speaker (player instance) exists before attempting to call instance methods on it (the same applies when you intend to call any instance method on any instance).

I did do it please view the code properly before answering